409661:	66 8b 56 08          	mov    0x8(%esi),%dx
409665:	8b 45 f8             	mov    -0x8(%ebp),%eax
409668:	66 c1 ea 0f          	shr    $0xf,%dx
40966c:	66 89 03             	mov    %ax,(%ebx)
40966f:	88 53 02             	mov    %dl,0x2(%ebx)
409672:	c3                   	ret
409673:	31 d2                	xor    %edx,%edx
409675:	eb ee                	jmp    0x409665
409677:	0a 00                	or     (%eax),%al
409679:	00 00                	add    %al,(%eax)
40967b:	64 00 00             	add    %al,%fs:(%eax)
40967e:	00 e8                	add    %ch,%al
409680:	03 00                	add    (%eax),%eax
409682:	00 10                	add    %dl,(%eax)
409684:	27                   	daa
409685:	00 00                	add    %al,(%eax)
409687:	8b 06                	mov    (%esi),%eax
409689:	8b 56 04             	mov    0x4(%esi),%edx
40968c:	89 c1                	mov    %eax,%ecx
40968e:	09 d1                	or     %edx,%ecx
409690:	0f 84 b7 00 00 00    	je     0x40974d
409696:	09 d2                	or     %edx,%edx
409698:	79 07                	jns    0x4096a1
40969a:	f7 da                	neg    %edx
40969c:	f7 d8                	neg    %eax
40969e:	83 da 00             	sbb    $0x0,%edx
4096a1:	31 c9                	xor    %ecx,%ecx
4096a3:	8b 7d 08             	mov    0x8(%ebp),%edi
4096a6:	09 ff                	or     %edi,%edi
4096a8:	7d 02                	jge    0x4096ac
4096aa:	31 ff                	xor    %edi,%edi
4096ac:	83 ff 04             	cmp    $0x4,%edi
4096af:	7c 1f                	jl     0x4096d0
4096b1:	bf 04 00 00 00       	mov    $0x4,%edi
4096b6:	41                   	inc    %ecx
4096b7:	2d 00 00 64 a7       	sub    $0xa7640000,%eax
4096bc:	81 da b3 b6 e0 0d    	sbb    $0xde0b6b3,%edx
4096c2:	73 f2                	jae    0x4096b6
4096c4:	49                   	dec    %ecx
4096c5:	05 00 00 64 a7       	add    $0xa7640000,%eax
4096ca:	81 d2 b3 b6 e0 0d    	adc    $0xde0b6b3,%edx
4096d0:	89 45 e0             	mov    %eax,-0x20(%ebp)
4096d3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4096d6:	df 6d e0             	fildll -0x20(%ebp)
4096d9:	89 fa                	mov    %edi,%edx
4096db:	b8 04 00 00 00       	mov    $0x4,%eax
4096e0:	29 d0                	sub    %edx,%eax
4096e2:	74 0a                	je     0x4096ee
4096e4:	8b 7d fc             	mov    -0x4(%ebp),%edi
4096e7:	da b4 87 73 96 40 00 	fidivl 0x409673(%edi,%eax,4)
4096ee:	df 75 e8             	fbstp  -0x18(%ebp)
4096f1:	8d 7b 03             	lea    0x3(%ebx),%edi
4096f4:	9b                   	fwait
4096f5:	09 c9                	or     %ecx,%ecx
4096f7:	75 1b                	jne    0x409714
4096f9:	b9 09 00 00 00       	mov    $0x9,%ecx
4096fe:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409702:	88 c4                	mov    %al,%ah
409704:	c0 e8 04             	shr    $0x4,%al
409707:	75 1e                	jne    0x409727
409709:	88 e0                	mov    %ah,%al
40970b:	24 0f                	and    $0xf,%al
40970d:	75 1f                	jne    0x40972e
40970f:	49                   	dec    %ecx
409710:	75 ec                	jne    0x4096fe
409712:	eb 39                	jmp    0x40974d
409714:	88 c8                	mov    %cl,%al
409716:	04 30                	add    $0x30,%al
409718:	aa                   	stos   %al,%es:(%edi)
409719:	b9 09 00 00 00       	mov    $0x9,%ecx
40971e:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409722:	88 c4                	mov    %al,%ah
409724:	c0 e8 04             	shr    $0x4,%al
409727:	04 30                	add    $0x30,%al
409729:	aa                   	stos   %al,%es:(%edi)
40972a:	88 e0                	mov    %ah,%al
40972c:	24 0f                	and    $0xf,%al
40972e:	04 30                	add    $0x30,%al
409730:	aa                   	stos   %al,%es:(%edi)
409731:	49                   	dec    %ecx
409732:	75 ea                	jne    0x40971e
409734:	89 f8                	mov    %edi,%eax
409736:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
40973a:	29 c8                	sub    %ecx,%eax
40973c:	c6 07 00             	movb   $0x0,(%edi)
40973f:	4f                   	dec    %edi
409740:	80 3f 30             	cmpb   $0x30,(%edi)
409743:	74 f7                	je     0x40973c
409745:	8b 56 04             	mov    0x4(%esi),%edx
409748:	c1 ea 1f             	shr    $0x1f,%edx
40974b:	eb 07                	jmp    0x409754
40974d:	31 c0                	xor    %eax,%eax
40974f:	31 d2                	xor    %edx,%edx
409751:	88 43 03             	mov    %al,0x3(%ebx)
409754:	66 89 03             	mov    %ax,(%ebx)
409757:	88 53 02             	mov    %dl,0x2(%ebx)
40975a:	c3                   	ret
40975b:	5b                   	pop    %ebx
40975c:	5e                   	pop    %esi
40975d:	5f                   	pop    %edi
40975e:	8b e5                	mov    %ebp,%esp
409760:	5d                   	pop    %ebp
409761:	c2 08 00             	ret    $0x8
409764:	55                   	push   %ebp
409765:	8b ec                	mov    %esp,%ebp
409767:	83 c4 f4             	add    $0xfffffff4,%esp
40976a:	57                   	push   %edi
40976b:	56                   	push   %esi
40976c:	53                   	push   %ebx
40976d:	89 c6                	mov    %eax,%esi
40976f:	89 d7                	mov    %edx,%edi
409771:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409778:	a0 8b 16 46 00       	mov    0x46168b,%al
40977d:	88 45 fb             	mov    %al,-0x5(%ebp)
409780:	89 cb                	mov    %ecx,%ebx
409782:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409786:	9b db e2             	fclex
409789:	d9 2d a4 51 45 00    	fldcw  0x4551a4
40978f:	d9 ee                	fldz
409791:	e8 85 00 00 00       	call   0x40981b
409796:	8a 3e                	mov    (%esi),%bh
409798:	80 ff 2b             	cmp    $0x2b,%bh
40979b:	74 05                	je     0x4097a2
40979d:	80 ff 2d             	cmp    $0x2d,%bh
4097a0:	75 01                	jne    0x4097a3
4097a2:	46                   	inc    %esi
4097a3:	89 f1                	mov    %esi,%ecx
4097a5:	e8 7c 00 00 00       	call   0x409826
4097aa:	31 d2                	xor    %edx,%edx
4097ac:	8a 06                	mov    (%esi),%al
4097ae:	3a 45 fb             	cmp    -0x5(%ebp),%al
4097b1:	75 08                	jne    0x4097bb
4097b3:	46                   	inc    %esi
4097b4:	e8 6d 00 00 00       	call   0x409826
4097b9:	f7 da                	neg    %edx
4097bb:	39 f1                	cmp    %esi,%ecx
4097bd:	74 4f                	je     0x40980e
4097bf:	8a 06                	mov    (%esi),%al
4097c1:	24 df                	and    $0xdf,%al
4097c3:	3c 45                	cmp    $0x45,%al
4097c5:	75 0a                	jne    0x4097d1
4097c7:	46                   	inc    %esi
4097c8:	52                   	push   %edx
4097c9:	e8 74 00 00 00       	call   0x409842
4097ce:	58                   	pop    %eax
4097cf:	01 c2                	add    %eax,%edx
4097d1:	e8 45 00 00 00       	call   0x40981b
4097d6:	80 3e 00             	cmpb   $0x0,(%esi)
4097d9:	75 33                	jne    0x40980e
4097db:	89 d0                	mov    %edx,%eax
4097dd:	80 fb 01             	cmp    $0x1,%bl
4097e0:	75 03                	jne    0x4097e5
4097e2:	83 c0 04             	add    $0x4,%eax
4097e5:	53                   	push   %ebx
4097e6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4097e9:	e8 5e 9b ff ff       	call   0x40334c
4097ee:	5b                   	pop    %ebx
4097ef:	80 ff 2d             	cmp    $0x2d,%bh
4097f2:	75 02                	jne    0x4097f6
4097f4:	d9 e0                	fchs
4097f6:	80 fb 00             	cmp    $0x0,%bl
4097f9:	74 04                	je     0x4097ff
4097fb:	df 3f                	fistpll (%edi)
4097fd:	eb 02                	jmp    0x409801
4097ff:	db 3f                	fstpt  (%edi)
409801:	9b df e0             	fstsw  %ax
409804:	66 a9 09 00          	test   $0x9,%ax
409808:	75 06                	jne    0x409810
40980a:	b0 01                	mov    $0x1,%al
40980c:	eb 04                	jmp    0x409812
40980e:	dd d8                	fstp   %st(0)
409810:	31 c0                	xor    %eax,%eax
409812:	9b db e2             	fclex
409815:	d9 6d f8             	fldcw  -0x8(%ebp)
409818:	9b                   	fwait
409819:	eb 56                	jmp    0x409871
40981b:	ac                   	lods   %ds:(%esi),%al
40981c:	08 c0                	or     %al,%al
40981e:	74 04                	je     0x409824
409820:	3c 20                	cmp    $0x20,%al
409822:	74 f7                	je     0x40981b
409824:	4e                   	dec    %esi
409825:	c3                   	ret
409826:	31 c0                	xor    %eax,%eax
409828:	31 d2                	xor    %edx,%edx
40982a:	ac                   	lods   %ds:(%esi),%al
40982b:	2c 3a                	sub    $0x3a,%al
40982d:	04 0a                	add    $0xa,%al
40982f:	73 0f                	jae    0x409840
409831:	da 0d a0 51 45 00    	fimull 0x4551a0
409837:	89 45 f4             	mov    %eax,-0xc(%ebp)
40983a:	da 45 f4             	fiaddl -0xc(%ebp)
40983d:	42                   	inc    %edx
40983e:	eb ea                	jmp    0x40982a
409840:	4e                   	dec    %esi
409841:	c3                   	ret
409842:	31 c0                	xor    %eax,%eax
409844:	31 d2                	xor    %edx,%edx
409846:	8a 0e                	mov    (%esi),%cl
409848:	80 f9 2b             	cmp    $0x2b,%cl
40984b:	74 05                	je     0x409852
40984d:	80 f9 2d             	cmp    $0x2d,%cl
409850:	75 01                	jne    0x409853
409852:	46                   	inc    %esi
409853:	8a 06                	mov    (%esi),%al
409855:	2c 3a                	sub    $0x3a,%al
409857:	04 0a                	add    $0xa,%al
409859:	73 0e                	jae    0x409869
40985b:	46                   	inc    %esi
40985c:	6b d2 0a             	imul   $0xa,%edx,%edx
40985f:	01 c2                	add    %eax,%edx
409861:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
409867:	72 ea                	jb     0x409853
409869:	80 f9 2d             	cmp    $0x2d,%cl
40986c:	75 02                	jne    0x409870
40986e:	f7 da                	neg    %edx
409870:	c3                   	ret
409871:	5b                   	pop    %ebx
409872:	5e                   	pop    %esi
409873:	5f                   	pop    %edi
409874:	8b e5                	mov    %ebp,%esp
409876:	5d                   	pop    %ebp
409877:	c3                   	ret
409878:	55                   	push   %ebp
409879:	8b ec                	mov    %esp,%ebp
40987b:	83 c4 c0             	add    $0xffffffc0,%esp
40987e:	53                   	push   %ebx
40987f:	8b d8                	mov    %eax,%ebx
409881:	6a 00                	push   $0x0
409883:	6a 0f                	push   $0xf
409885:	6a 00                	push   $0x0
409887:	8d 55 08             	lea    0x8(%ebp),%edx
40988a:	8d 45 c0             	lea    -0x40(%ebp),%eax
40988d:	33 c9                	xor    %ecx,%ecx
40988f:	e8 d0 f9 ff ff       	call   0x409264
409894:	8b c8                	mov    %eax,%ecx
409896:	8d 55 c0             	lea    -0x40(%ebp),%edx
409899:	8b c3                	mov    %ebx,%eax
40989b:	e8 c0 ad ff ff       	call   0x404660
4098a0:	5b                   	pop    %ebx
4098a1:	8b e5                	mov    %ebp,%esp
4098a3:	5d                   	pop    %ebp
4098a4:	c2 0c 00             	ret    $0xc
4098a7:	90                   	nop
4098a8:	55                   	push   %ebp
4098a9:	8b ec                	mov    %esp,%ebp
4098ab:	83 c4 c0             	add    $0xffffffc0,%esp
4098ae:	53                   	push   %ebx
4098af:	8b d8                	mov    %eax,%ebx
4098b1:	6a 00                	push   $0x0
4098b3:	6a 00                	push   $0x0
4098b5:	6a 00                	push   $0x0
4098b7:	8d 55 08             	lea    0x8(%ebp),%edx
4098ba:	8d 45 c0             	lea    -0x40(%ebp),%eax
4098bd:	b1 01                	mov    $0x1,%cl
4098bf:	e8 a0 f9 ff ff       	call   0x409264
4098c4:	8b c8                	mov    %eax,%ecx
4098c6:	8d 55 c0             	lea    -0x40(%ebp),%edx
4098c9:	8b c3                	mov    %ebx,%eax
4098cb:	e8 90 ad ff ff       	call   0x404660
4098d0:	5b                   	pop    %ebx
4098d1:	8b e5                	mov    %ebp,%esp
4098d3:	5d                   	pop    %ebp
4098d4:	c2 08 00             	ret    $0x8
4098d7:	90                   	nop
4098d8:	53                   	push   %ebx
4098d9:	56                   	push   %esi
4098da:	8b f2                	mov    %edx,%esi
4098dc:	8b d8                	mov    %eax,%ebx
4098de:	8b c3                	mov    %ebx,%eax
4098e0:	e8 4b b1 ff ff       	call   0x404a30
4098e5:	8b d6                	mov    %esi,%edx
4098e7:	33 c9                	xor    %ecx,%ecx
4098e9:	e8 76 fe ff ff       	call   0x409764
4098ee:	5e                   	pop    %esi
4098ef:	5b                   	pop    %ebx
4098f0:	c3                   	ret
4098f1:	8d 40 00             	lea    0x0(%eax),%eax
4098f4:	53                   	push   %ebx
4098f5:	56                   	push   %esi
4098f6:	83 c4 f4             	add    $0xfffffff4,%esp
4098f9:	8b f2                	mov    %edx,%esi
4098fb:	8b d8                	mov    %eax,%ebx
4098fd:	8b c3                	mov    %ebx,%eax
4098ff:	e8 2c b1 ff ff       	call   0x404a30
409904:	8b d4                	mov    %esp,%edx
409906:	33 c9                	xor    %ecx,%ecx
409908:	e8 57 fe ff ff       	call   0x409764
40990d:	84 c0                	test   %al,%al
40990f:	74 06                	je     0x409917
409911:	db 2c 24             	fldt   (%esp)
409914:	dd 1e                	fstpl  (%esi)
409916:	9b                   	fwait
409917:	83 c4 0c             	add    $0xc,%esp
40991a:	5e                   	pop    %esi
40991b:	5b                   	pop    %ebx
40991c:	c3                   	ret
40991d:	8d 40 00             	lea    0x0(%eax),%eax
409920:	53                   	push   %ebx
409921:	56                   	push   %esi
409922:	83 c4 f4             	add    $0xfffffff4,%esp
409925:	8b f2                	mov    %edx,%esi
409927:	8b d8                	mov    %eax,%ebx
409929:	8b c3                	mov    %ebx,%eax
40992b:	e8 00 b1 ff ff       	call   0x404a30
409930:	8b d4                	mov    %esp,%edx
409932:	33 c9                	xor    %ecx,%ecx
409934:	e8 2b fe ff ff       	call   0x409764
409939:	84 c0                	test   %al,%al
40993b:	74 06                	je     0x409943
40993d:	db 2c 24             	fldt   (%esp)
409940:	d9 1e                	fstps  (%esi)
409942:	9b                   	fwait
409943:	83 c4 0c             	add    $0xc,%esp
409946:	5e                   	pop    %esi
409947:	5b                   	pop    %ebx
409948:	c3                   	ret
409949:	8d 40 00             	lea    0x0(%eax),%eax
40994c:	53                   	push   %ebx
40994d:	56                   	push   %esi
40994e:	8b f2                	mov    %edx,%esi
409950:	8b d8                	mov    %eax,%ebx
409952:	8b c3                	mov    %ebx,%eax
409954:	e8 d7 b0 ff ff       	call   0x404a30
409959:	8b d6                	mov    %esi,%edx
40995b:	b1 01                	mov    $0x1,%cl
40995d:	e8 02 fe ff ff       	call   0x409764
409962:	5e                   	pop    %esi
409963:	5b                   	pop    %ebx
409964:	c3                   	ret
409965:	8d 40 00             	lea    0x0(%eax),%eax
409968:	55                   	push   %ebp
409969:	8b ec                	mov    %esp,%ebp
40996b:	53                   	push   %ebx
40996c:	31 db                	xor    %ebx,%ebx
40996e:	89 c1                	mov    %eax,%ecx
409970:	dd 45 08             	fldl   0x8(%ebp)
409973:	d8 8b a8 51 45 00    	fmuls  0x4551a8(%ebx)
409979:	83 ec 08             	sub    $0x8,%esp
40997c:	df 3c 24             	fistpll (%esp)
40997f:	9b                   	fwait
409980:	58                   	pop    %eax
409981:	5a                   	pop    %edx
409982:	09 d2                	or     %edx,%edx
409984:	79 11                	jns    0x409997
409986:	f7 da                	neg    %edx
409988:	f7 d8                	neg    %eax
40998a:	83 da 00             	sbb    $0x0,%edx
40998d:	f7 b3 ac 51 45 00    	divl   0x4551ac(%ebx)
409993:	f7 d8                	neg    %eax