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
409d2f:	90                   	nop
409d30:	55                   	push   %ebp
409d31:	8b ec                	mov    %esp,%ebp
409d33:	83 c4 f8             	add    $0xfffffff8,%esp
409d36:	53                   	push   %ebx
409d37:	8b d8                	mov    %eax,%ebx
409d39:	dd 03                	fldl   (%ebx)
409d3b:	e8 90 8d ff ff       	call   0x402ad0
409d40:	89 45 f8             	mov    %eax,-0x8(%ebp)
409d43:	89 55 fc             	mov    %edx,-0x4(%ebp)
409d46:	df 6d f8             	fildll -0x8(%ebp)
409d49:	dd 1b                	fstpl  (%ebx)
409d4b:	9b dd 03             	fldl   (%ebx)
409d4e:	d8 1d 80 9d 40 00    	fcomps 0x409d80
409d54:	df e0                	fnstsw %ax
409d56:	9e                   	sahf
409d57:	72 11                	jb     0x409d6a
409d59:	dd 45 08             	fldl   0x8(%ebp)
409d5c:	e8 3f 8d ff ff       	call   0x402aa0
409d61:	d9 e1                	fabs
409d63:	dc 03                	faddl  (%ebx)
409d65:	dd 1b                	fstpl  (%ebx)
409d67:	9b                   	fwait
409d68:	eb 0f                	jmp    0x409d79
409d6a:	dd 45 08             	fldl   0x8(%ebp)
409d6d:	e8 2e 8d ff ff       	call   0x402aa0
409d72:	d9 e1                	fabs
409d74:	dc 2b                	fsubrl (%ebx)
409d76:	dd 1b                	fstpl  (%ebx)
409d78:	9b                   	fwait
409d79:	5b                   	pop    %ebx
409d7a:	59                   	pop    %ecx
409d7b:	59                   	pop    %ecx
409d7c:	5d                   	pop    %ebp
409d7d:	c2 08 00             	ret    $0x8
409d80:	00 00                	add    %al,(%eax)
409d82:	00 00                	add    %al,(%eax)
409d84:	55                   	push   %ebp
409d85:	8b ec                	mov    %esp,%ebp
409d87:	83 c4 f8             	add    $0xfffffff8,%esp
409d8a:	53                   	push   %ebx
409d8b:	8b d8                	mov    %eax,%ebx
409d8d:	8b 45 08             	mov    0x8(%ebp),%eax
409d90:	89 45 f8             	mov    %eax,-0x8(%ebp)
409d93:	8b 45 0c             	mov    0xc(%ebp),%eax
409d96:	89 45 fc             	mov    %eax,-0x4(%ebp)
409d99:	ff 73 04             	push   0x4(%ebx)
409d9c:	ff 33                	push   (%ebx)
409d9e:	8d 45 f8             	lea    -0x8(%ebp),%eax
409da1:	e8 8a ff ff ff       	call   0x409d30
409da6:	8b 45 f8             	mov    -0x8(%ebp),%eax
409da9:	89 03                	mov    %eax,(%ebx)
409dab:	8b 45 fc             	mov    -0x4(%ebp),%eax
409dae:	89 43 04             	mov    %eax,0x4(%ebx)
409db1:	5b                   	pop    %ebx
409db2:	59                   	pop    %ecx
409db3:	59                   	pop    %ecx
409db4:	5d                   	pop    %ebp
409db5:	c2 08 00             	ret    $0x8
409db8:	83 c4 f0             	add    $0xfffffff0,%esp
409dbb:	54                   	push   %esp
409dbc:	e8 8b c5 ff ff       	call   0x40634c
409dc1:	66 8b 04 24          	mov    (%esp),%ax
409dc5:	83 c4 10             	add    $0x10,%esp
409dc8:	c3                   	ret
409dc9:	8d 40 00             	lea    0x0(%eax),%eax
409dcc:	55                   	push   %ebp
409dcd:	8b ec                	mov    %esp,%ebp
409dcf:	53                   	push   %ebx
409dd0:	8b 4d 08             	mov    0x8(%ebp),%ecx
409dd3:	bb 00 01 00 00       	mov    $0x100,%ebx
409dd8:	2b 99 fc fe ff ff    	sub    -0x104(%ecx),%ebx
409dde:	3b d3                	cmp    %ebx,%edx
409de0:	7d 02                	jge    0x409de4
409de2:	8b da                	mov    %edx,%ebx
409de4:	85 db                	test   %ebx,%ebx
409de6:	74 1a                	je     0x409e02
409de8:	8b 55 08             	mov    0x8(%ebp),%edx
409deb:	8b 92 fc fe ff ff    	mov    -0x104(%edx),%edx
409df1:	8b 4d 08             	mov    0x8(%ebp),%ecx
409df4:	8d 94 11 00 ff ff ff 	lea    -0x100(%ecx,%edx,1),%edx
409dfb:	8b cb                	mov    %ebx,%ecx
409dfd:	e8 ee 8a ff ff       	call   0x4028f0
409e02:	8b 45 08             	mov    0x8(%ebp),%eax
409e05:	01 98 fc fe ff ff    	add    %ebx,-0x104(%eax)
409e0b:	5b                   	pop    %ebx
409e0c:	5d                   	pop    %ebp
409e0d:	c3                   	ret
409e0e:	8b c0                	mov    %eax,%eax
409e10:	55                   	push   %ebp
409e11:	8b ec                	mov    %esp,%ebp
409e13:	53                   	push   %ebx
409e14:	8b d8                	mov    %eax,%ebx
409e16:	8b 45 08             	mov    0x8(%ebp),%eax
409e19:	50                   	push   %eax
409e1a:	8b c3                	mov    %ebx,%eax
409e1c:	e8 ef a4 ff ff       	call   0x404310
409e21:	8b d0                	mov    %eax,%edx
409e23:	8b c3                	mov    %ebx,%eax
409e25:	e8 a2 ff ff ff       	call   0x409dcc
409e2a:	59                   	pop    %ecx
409e2b:	5b                   	pop    %ebx
409e2c:	5d                   	pop    %ebp
409e2d:	c3                   	ret
409e2e:	8b c0                	mov    %eax,%eax
409e30:	55                   	push   %ebp
409e31:	8b ec                	mov    %esp,%ebp
409e33:	83 c4 e0             	add    $0xffffffe0,%esp
409e36:	53                   	push   %ebx
409e37:	56                   	push   %esi
409e38:	8b f2                	mov    %edx,%esi
409e3a:	8b d8                	mov    %eax,%ebx
409e3c:	8b 45 08             	mov    0x8(%ebp),%eax
409e3f:	50                   	push   %eax
409e40:	6a 04                	push   $0x4
409e42:	89 75 e0             	mov    %esi,-0x20(%ebp)
409e45:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
409e49:	89 5d e8             	mov    %ebx,-0x18(%ebp)
409e4c:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
409e50:	8d 45 e0             	lea    -0x20(%ebp),%eax
409e53:	50                   	push   %eax
409e54:	6a 01                	push   $0x1
409e56:	b9 84 91 46 00       	mov    $0x469184,%ecx
409e5b:	8d 45 f0             	lea    -0x10(%ebp),%eax
409e5e:	ba 10 00 00 00       	mov    $0x10,%edx
409e63:	e8 9c ed ff ff       	call   0x408c04
409e68:	8b d0                	mov    %eax,%edx
409e6a:	8d 45 f0             	lea    -0x10(%ebp),%eax
409e6d:	e8 5a ff ff ff       	call   0x409dcc
409e72:	59                   	pop    %ecx
409e73:	5e                   	pop    %esi
409e74:	5b                   	pop    %ebx
409e75:	8b e5                	mov    %ebp,%esp
409e77:	5d                   	pop    %ebp
409e78:	c3                   	ret
409e79:	8d 40 00             	lea    0x0(%eax),%eax
409e7c:	55                   	push   %ebp
409e7d:	8b ec                	mov    %esp,%ebp
409e7f:	53                   	push   %ebx
409e80:	8b 45 08             	mov    0x8(%ebp),%eax
409e83:	83 c0 fc             	add    $0xfffffffc,%eax
409e86:	8b 10                	mov    (%eax),%edx
409e88:	eb 02                	jmp    0x409e8c
409e8a:	ff 00                	incl   (%eax)
409e8c:	8b 08                	mov    (%eax),%ecx
409e8e:	8a 09                	mov    (%ecx),%cl
409e90:	8b 5d 08             	mov    0x8(%ebp),%ebx
409e93:	3a 4b fb             	cmp    -0x5(%ebx),%cl
409e96:	74 f2                	je     0x409e8a
409e98:	8b 00                	mov    (%eax),%eax
409e9a:	2b c2                	sub    %edx,%eax
409e9c:	40                   	inc    %eax
409e9d:	8b 55 08             	mov    0x8(%ebp),%edx
409ea0:	89 42 f4             	mov    %eax,-0xc(%edx)
409ea3:	5b                   	pop    %ebx
409ea4:	5d                   	pop    %ebp
409ea5:	c3                   	ret
409ea6:	8b c0                	mov    %eax,%eax
409ea8:	55                   	push   %ebp
409ea9:	8b ec                	mov    %esp,%ebp
409eab:	8b 45 08             	mov    0x8(%ebp),%eax
409eae:	80 78 ed 00          	cmpb   $0x0,-0x13(%eax)
409eb2:	75 2a                	jne    0x409ede
409eb4:	8b 45 08             	mov    0x8(%ebp),%eax
409eb7:	8b 40 08             	mov    0x8(%eax),%eax
409eba:	ff 70 0c             	push   0xc(%eax)
409ebd:	ff 70 08             	push   0x8(%eax)
409ec0:	8b 45 08             	mov    0x8(%ebp),%eax
409ec3:	8d 48 ee             	lea    -0x12(%eax),%ecx
409ec6:	8b 45 08             	mov    0x8(%ebp),%eax
409ec9:	8d 50 f0             	lea    -0x10(%eax),%edx
409ecc:	8b 45 08             	mov    0x8(%ebp),%eax
409ecf:	83 c0 f2             	add    $0xfffffff2,%eax
409ed2:	e8 11 fd ff ff       	call   0x409be8
409ed7:	8b 45 08             	mov    0x8(%ebp),%eax