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)
409b2d:	75 0a                	jne    0x409b39
409b2f:	66 ff 4d f0          	decw   -0x10(%ebp)
409b33:	66 81 45 f2 ac 8e    	addw   $0x8eac,-0xe(%ebp)
409b39:	66 6b 45 f0 64       	imul   $0x64,-0x10(%ebp),%ax
409b3e:	66 03 d8             	add    %ax,%bx
409b41:	8d 45 f2             	lea    -0xe(%ebp),%eax
409b44:	50                   	push   %eax
409b45:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409b48:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
409b4c:	66 ba b5 05          	mov    $0x5b5,%dx
409b50:	e8 27 e2 ff ff       	call   0x407d7c
409b55:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
409b59:	c1 e0 02             	shl    $0x2,%eax
409b5c:	66 03 d8             	add    %ax,%bx
409b5f:	8d 45 f2             	lea    -0xe(%ebp),%eax
409b62:	50                   	push   %eax
409b63:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409b66:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
409b6a:	66 ba 6d 01          	mov    $0x16d,%dx
409b6e:	e8 09 e2 ff ff       	call   0x407d7c
409b73:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
409b78:	75 0a                	jne    0x409b84
409b7a:	66 ff 4d f0          	decw   -0x10(%ebp)
409b7e:	66 81 45 f2 6d 01    	addw   $0x16d,-0xe(%ebp)
409b84:	66 03 5d f0          	add    -0x10(%ebp),%bx
409b88:	8b c3                	mov    %ebx,%eax
409b8a:	e8 d9 fd ff ff       	call   0x409968
409b8f:	8b d0                	mov    %eax,%edx
409b91:	33 c0                	xor    %eax,%eax
409b93:	8a c2                	mov    %dl,%al
409b95:	8d 04 40             	lea    (%eax,%eax,2),%eax
409b98:	8d 34 c5 dc 90 46 00 	lea    0x4690dc(,%eax,8),%esi
409b9f:	66 b8 01 00          	mov    $0x1,%ax
409ba3:	0f b7 c8             	movzwl %ax,%ecx
409ba6:	66 8b 4c 4e fe       	mov    -0x2(%esi,%ecx,2),%cx
409bab:	66 89 4d f0          	mov    %cx,-0x10(%ebp)
409baf:	66 8b 4d f2          	mov    -0xe(%ebp),%cx
409bb3:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
409bb7:	72 0b                	jb     0x409bc4
409bb9:	66 8b 4d f0          	mov    -0x10(%ebp),%cx
409bbd:	66 29 4d f2          	sub    %cx,-0xe(%ebp)
409bc1:	40                   	inc    %eax
409bc2:	eb df                	jmp    0x409ba3
409bc4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409bc7:	66 89 19             	mov    %bx,(%ecx)
409bca:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409bcd:	66 89 01             	mov    %ax,(%ecx)
409bd0:	66 8b 45 f2          	mov    -0xe(%ebp),%ax
409bd4:	40                   	inc    %eax
409bd5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409bd8:	66 89 01             	mov    %ax,(%ecx)
409bdb:	8b c2                	mov    %edx,%eax
409bdd:	5e                   	pop    %esi
409bde:	5b                   	pop    %ebx
409bdf:	8b e5                	mov    %ebp,%esp
409be1:	5d                   	pop    %ebp
409be2:	c2 0c 00             	ret    $0xc
409be5:	8d 40 00             	lea    0x0(%eax),%eax
409be8:	55                   	push   %ebp
409be9:	8b ec                	mov    %esp,%ebp
409beb:	51                   	push   %ecx
409bec:	56                   	push   %esi
409bed:	8b f0                	mov    %eax,%esi
409bef:	ff 75 0c             	push   0xc(%ebp)
409bf2:	ff 75 08             	push   0x8(%ebp)
409bf5:	8d 45 fe             	lea    -0x2(%ebp),%eax
409bf8:	50                   	push   %eax
409bf9:	8b c6                	mov    %esi,%eax
409bfb:	e8 9c fe ff ff       	call   0x409a9c
409c00:	5e                   	pop    %esi
409c01:	59                   	pop    %ecx
409c02:	5d                   	pop    %ebp
409c03:	c2 08 00             	ret    $0x8
409c06:	8b c0                	mov    %eax,%eax
409c08:	55                   	push   %ebp
409c09:	8b ec                	mov    %esp,%ebp
409c0b:	53                   	push   %ebx
409c0c:	8b d8                	mov    %eax,%ebx
409c0e:	ff 75 0c             	push   0xc(%ebp)
409c11:	ff 75 08             	push   0x8(%ebp)
409c14:	8d 43 04             	lea    0x4(%ebx),%eax
409c17:	50                   	push   %eax
409c18:	8d 4b 06             	lea    0x6(%ebx),%ecx
409c1b:	8d 53 02             	lea    0x2(%ebx),%edx
409c1e:	8b c3                	mov    %ebx,%eax
409c20:	e8 77 fe ff ff       	call   0x409a9c
409c25:	66 ff 4b 04          	decw   0x4(%ebx)
409c29:	ff 75 0c             	push   0xc(%ebp)
409c2c:	ff 75 08             	push   0x8(%ebp)
409c2f:	8d 43 0e             	lea    0xe(%ebx),%eax
409c32:	50                   	push   %eax
409c33:	8d 4b 0c             	lea    0xc(%ebx),%ecx
409c36:	8d 53 0a             	lea    0xa(%ebx),%edx
409c39:	8d 43 08             	lea    0x8(%ebx),%eax
409c3c:	e8 cb fc ff ff       	call   0x40990c
409c41:	5b                   	pop    %ebx
409c42:	5d                   	pop    %ebp
409c43:	c2 08 00             	ret    $0x8
409c46:	8b c0                	mov    %eax,%eax
409c48:	53                   	push   %ebx
409c49:	83 c4 f8             	add    $0xfffffff8,%esp
409c4c:	8b d8                	mov    %eax,%ebx
409c4e:	66 8b 4b 06          	mov    0x6(%ebx),%cx
409c52:	66 8b 53 02          	mov    0x2(%ebx),%dx
409c56:	66 8b 03             	mov    (%ebx),%ax
409c59:	e8 0e fe ff ff       	call   0x409a6c
409c5e:	dd 1c 24             	fstpl  (%esp)
409c61:	9b dd 04 24          	fldl   (%esp)
409c65:	d8 1d b4 9c 40 00    	fcomps 0x409cb4
409c6b:	df e0                	fnstsw %ax
409c6d:	9e                   	sahf
409c6e:	72 1f                	jb     0x409c8f
409c70:	66 8b 43 0e          	mov    0xe(%ebx),%ax
409c74:	50                   	push   %eax
409c75:	66 8b 4b 0c          	mov    0xc(%ebx),%cx
409c79:	66 8b 53 0a          	mov    0xa(%ebx),%dx
409c7d:	66 8b 43 08          	mov    0x8(%ebx),%ax
409c81:	e8 46 fc ff ff       	call   0x4098cc
409c86:	dc 04 24             	faddl  (%esp)
409c89:	dd 1c 24             	fstpl  (%esp)
409c8c:	9b                   	fwait
409c8d:	eb 1d                	jmp    0x409cac
409c8f:	66 8b 43 0e          	mov    0xe(%ebx),%ax
409c93:	50                   	push   %eax
409c94:	66 8b 4b 0c          	mov    0xc(%ebx),%cx
409c98:	66 8b 53 0a          	mov    0xa(%ebx),%dx
409c9c:	66 8b 43 08          	mov    0x8(%ebx),%ax
409ca0:	e8 27 fc ff ff       	call   0x4098cc
409ca5:	dc 2c 24             	fsubrl (%esp)
409ca8:	dd 1c 24             	fstpl  (%esp)
409cab:	9b dd 04 24          	fldl   (%esp)
409caf:	59                   	pop    %ecx
409cb0:	5a                   	pop    %edx
409cb1:	5b                   	pop    %ebx
409cb2:	c3                   	ret
409cb3:	00 00                	add    %al,(%eax)
409cb5:	00 00                	add    %al,(%eax)
409cb7:	00 55 8b             	add    %dl,-0x75(%ebp)
409cba:	ec                   	in     (%dx),%al
409cbb:	83 c4 f8             	add    $0xfffffff8,%esp
409cbe:	ff 75 0c             	push   0xc(%ebp)
409cc1:	ff 75 08             	push   0x8(%ebp)
409cc4:	8d 45 f8             	lea    -0x8(%ebp),%eax
409cc7:	e8 4c fb ff ff       	call   0x409818
409ccc:	8b 45 fc             	mov    -0x4(%ebp),%eax
409ccf:	b9 07 00 00 00       	mov    $0x7,%ecx
409cd4:	99                   	cltd
409cd5:	f7 f9                	idiv   %ecx
409cd7:	8b c2                	mov    %edx,%eax
409cd9:	40                   	inc    %eax
409cda:	59                   	pop    %ecx
409cdb:	59                   	pop    %ecx
409cdc:	5d                   	pop    %ebp
409cdd:	c2 08 00             	ret    $0x8
409ce0:	83 c4 e0             	add    $0xffffffe0,%esp
409ce3:	8d 44 24 08          	lea    0x8(%esp),%eax
409ce7:	50                   	push   %eax
409ce8:	e8 5f c6 ff ff       	call   0x40634c
409ced:	66 8b 4c 24 0e       	mov    0xe(%esp),%cx
409cf2:	66 8b 54 24 0a       	mov    0xa(%esp),%dx
409cf7:	66 8b 44 24 08       	mov    0x8(%esp),%ax
409cfc:	e8 6b fd ff ff       	call   0x409a6c
409d01:	dd 5c 24 18          	fstpl  0x18(%esp)
409d05:	9b                   	fwait
409d06:	66 8b 44 24 16       	mov    0x16(%esp),%ax
409d0b:	50                   	push   %eax
409d0c:	66 8b 4c 24 18       	mov    0x18(%esp),%cx
409d11:	66 8b 54 24 16       	mov    0x16(%esp),%dx
409d16:	66 8b 44 24 14       	mov    0x14(%esp),%ax
409d1b:	e8 ac fb ff ff       	call   0x4098cc
409d20:	dc 44 24 18          	faddl  0x18(%esp)
409d24:	dd 1c 24             	fstpl  (%esp)
409d27:	9b dd 04 24          	fldl   (%esp)
409d2b:	83 c4 20             	add    $0x20,%esp
409d2e:	c3                   	ret