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
409962:	8b e5                	mov    %ebp,%esp
409964:	5d                   	pop    %ebp
409965:	c2 0c 00             	ret    $0xc
409968:	53                   	push   %ebx
409969:	56                   	push   %esi
40996a:	8b c8                	mov    %eax,%ecx
40996c:	0f b7 c1             	movzwl %cx,%eax
40996f:	83 e0 03             	and    $0x3,%eax
409972:	85 c0                	test   %eax,%eax
409974:	75 21                	jne    0x409997
409976:	0f b7 d9             	movzwl %cx,%ebx
409979:	8b c3                	mov    %ebx,%eax
40997b:	be 64 00 00 00       	mov    $0x64,%esi
409980:	33 d2                	xor    %edx,%edx
409982:	f7 f6                	div    %esi
409984:	85 d2                	test   %edx,%edx
409986:	75 14                	jne    0x40999c
409988:	8b c3                	mov    %ebx,%eax
40998a:	b9 90 01 00 00       	mov    $0x190,%ecx
40998f:	33 d2                	xor    %edx,%edx
409991:	f7 f1                	div    %ecx
409993:	85 d2                	test   %edx,%edx
409995:	74 05                	je     0x40999c
409997:	33 c0                	xor    %eax,%eax
409999:	5e                   	pop    %esi
40999a:	5b                   	pop    %ebx
40999b:	c3                   	ret
40999c:	b0 01                	mov    $0x1,%al
40999e:	5e                   	pop    %esi
40999f:	5b                   	pop    %ebx
4099a0:	c3                   	ret
4099a1:	8d 40 00             	lea    0x0(%eax),%eax
4099a4:	55                   	push   %ebp
4099a5:	8b ec                	mov    %esp,%ebp
4099a7:	83 c4 f8             	add    $0xfffffff8,%esp
4099aa:	53                   	push   %ebx
4099ab:	56                   	push   %esi
4099ac:	57                   	push   %edi
4099ad:	8b d9                	mov    %ecx,%ebx
4099af:	8b fa                	mov    %edx,%edi
4099b1:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4099b5:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
4099b9:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
4099bd:	e8 a6 ff ff ff       	call   0x409968
4099c2:	83 e0 7f             	and    $0x7f,%eax
4099c5:	8d 04 40             	lea    (%eax,%eax,2),%eax
4099c8:	8d 34 c5 dc 90 46 00 	lea    0x4690dc(,%eax,8),%esi
4099cf:	66 83 7d fe 01       	cmpw   $0x1,-0x2(%ebp)
4099d4:	0f 82 86 00 00 00    	jb     0x409a60
4099da:	66 81 7d fe 0f 27    	cmpw   $0x270f,-0x2(%ebp)
4099e0:	77 7e                	ja     0x409a60
4099e2:	66 83 ff 01          	cmp    $0x1,%di
4099e6:	72 78                	jb     0x409a60
4099e8:	66 83 ff 0c          	cmp    $0xc,%di
4099ec:	77 72                	ja     0x409a60
4099ee:	66 83 fb 01          	cmp    $0x1,%bx
4099f2:	72 6c                	jb     0x409a60
4099f4:	0f b7 c7             	movzwl %di,%eax
4099f7:	66 3b 5c 46 fe       	cmp    -0x2(%esi,%eax,2),%bx
4099fc:	77 62                	ja     0x409a60
4099fe:	0f b7 c7             	movzwl %di,%eax
409a01:	48                   	dec    %eax
409a02:	85 c0                	test   %eax,%eax
409a04:	7e 0e                	jle    0x409a14
409a06:	b9 01 00 00 00       	mov    $0x1,%ecx
409a0b:	66 03 5c 4e fe       	add    -0x2(%esi,%ecx,2),%bx
409a10:	41                   	inc    %ecx
409a11:	48                   	dec    %eax
409a12:	75 f7                	jne    0x409a0b
409a14:	0f b7 4d fe          	movzwl -0x2(%ebp),%ecx
409a18:	49                   	dec    %ecx
409a19:	8b c1                	mov    %ecx,%eax
409a1b:	be 64 00 00 00       	mov    $0x64,%esi
409a20:	99                   	cltd
409a21:	f7 fe                	idiv   %esi
409a23:	69 f1 6d 01 00 00    	imul   $0x16d,%ecx,%esi
409a29:	8b d1                	mov    %ecx,%edx
409a2b:	85 d2                	test   %edx,%edx
409a2d:	79 03                	jns    0x409a32
409a2f:	83 c2 03             	add    $0x3,%edx
409a32:	c1 fa 02             	sar    $0x2,%edx
409a35:	03 f2                	add    %edx,%esi
409a37:	2b f0                	sub    %eax,%esi
409a39:	8b c1                	mov    %ecx,%eax
409a3b:	b9 90 01 00 00       	mov    $0x190,%ecx
409a40:	99                   	cltd
409a41:	f7 f9                	idiv   %ecx
409a43:	03 f0                	add    %eax,%esi
409a45:	0f b7 c3             	movzwl %bx,%eax
409a48:	03 f0                	add    %eax,%esi
409a4a:	81 ee 5a 95 0a 00    	sub    $0xa955a,%esi
409a50:	89 75 f8             	mov    %esi,-0x8(%ebp)
409a53:	db 45 f8             	fildl  -0x8(%ebp)
409a56:	8b 45 08             	mov    0x8(%ebp),%eax
409a59:	dd 18                	fstpl  (%eax)
409a5b:	9b                   	fwait
409a5c:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
409a60:	8a 45 fd             	mov    -0x3(%ebp),%al
409a63:	5f                   	pop    %edi
409a64:	5e                   	pop    %esi
409a65:	5b                   	pop    %ebx
409a66:	59                   	pop    %ecx
409a67:	59                   	pop    %ecx
409a68:	5d                   	pop    %ebp
409a69:	c2 04 00             	ret    $0x4
409a6c:	53                   	push   %ebx
409a6d:	56                   	push   %esi
409a6e:	57                   	push   %edi
409a6f:	83 c4 f8             	add    $0xfffffff8,%esp
409a72:	8b f9                	mov    %ecx,%edi
409a74:	8b f2                	mov    %edx,%esi
409a76:	8b d8                	mov    %eax,%ebx
409a78:	54                   	push   %esp
409a79:	8b cf                	mov    %edi,%ecx
409a7b:	8b d6                	mov    %esi,%edx
409a7d:	8b c3                	mov    %ebx,%eax
409a7f:	e8 20 ff ff ff       	call   0x4099a4
409a84:	84 c0                	test   %al,%al
409a86:	75 0a                	jne    0x409a92
409a88:	a1 a4 47 47 00       	mov    0x4747a4,%eax
409a8d:	e8 06 e3 ff ff       	call   0x407d98
409a92:	dd 04 24             	fldl   (%esp)
409a95:	59                   	pop    %ecx
409a96:	5a                   	pop    %edx
409a97:	5f                   	pop    %edi
409a98:	5e                   	pop    %esi
409a99:	5b                   	pop    %ebx
409a9a:	c3                   	ret
409a9b:	90                   	nop
409a9c:	55                   	push   %ebp
409a9d:	8b ec                	mov    %esp,%ebp
409a9f:	83 c4 e8             	add    $0xffffffe8,%esp
409aa2:	53                   	push   %ebx
409aa3:	56                   	push   %esi
409aa4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
409aa7:	89 55 f8             	mov    %edx,-0x8(%ebp)
409aaa:	89 45 fc             	mov    %eax,-0x4(%ebp)
409aad:	8b 5d 08             	mov    0x8(%ebp),%ebx
409ab0:	ff 75 10             	push   0x10(%ebp)
409ab3:	ff 75 0c             	push   0xc(%ebp)
409ab6:	8d 45 e8             	lea    -0x18(%ebp),%eax
409ab9:	e8 5a fd ff ff       	call   0x409818
409abe:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409ac1:	85 c9                	test   %ecx,%ecx
409ac3:	7f 24                	jg     0x409ae9
409ac5:	8b 45 fc             	mov    -0x4(%ebp),%eax
409ac8:	66 c7 00 00 00       	movw   $0x0,(%eax)
409acd:	8b 45 f8             	mov    -0x8(%ebp),%eax
409ad0:	66 c7 00 00 00       	movw   $0x0,(%eax)
409ad5:	8b 45 f4             	mov    -0xc(%ebp),%eax
409ad8:	66 c7 00 00 00       	movw   $0x0,(%eax)
409add:	66 c7 03 00 00       	movw   $0x0,(%ebx)
409ae2:	33 d2                	xor    %edx,%edx
409ae4:	e9 f2 00 00 00       	jmp    0x409bdb
409ae9:	8b c1                	mov    %ecx,%eax
409aeb:	be 07 00 00 00       	mov    $0x7,%esi
409af0:	99                   	cltd
409af1:	f7 fe                	idiv   %esi
409af3:	42                   	inc    %edx
409af4:	66 89 13             	mov    %dx,(%ebx)
409af7:	49                   	dec    %ecx
409af8:	66 bb 01 00          	mov    $0x1,%bx
409afc:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
409b02:	7c 13                	jl     0x409b17
409b04:	81 e9 b1 3a 02 00    	sub    $0x23ab1,%ecx
409b0a:	66 81 c3 90 01       	add    $0x190,%bx
409b0f:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
409b15:	7d ed                	jge    0x409b04
409b17:	8d 45 f2             	lea    -0xe(%ebp),%eax
409b1a:	50                   	push   %eax
409b1b:	8d 45 f0             	lea    -0x10(%ebp),%eax
409b1e:	66 ba ac 8e          	mov    $0x8eac,%dx
409b22:	91                   	xchg   %eax,%ecx
409b23:	e8 54 e2 ff ff       	call   0x407d7c
409b28:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)