409995:	eb 06                	jmp    0x40999d
409997:	f7 b3 ac 51 45 00    	divl   0x4551ac(%ebx)
40999d:	05 5a 95 0a 00       	add    $0xa955a,%eax
4099a2:	89 11                	mov    %edx,(%ecx)
4099a4:	89 41 04             	mov    %eax,0x4(%ecx)
4099a7:	5b                   	pop    %ebx
4099a8:	5d                   	pop    %ebp
4099a9:	c2 08 00             	ret    $0x8
4099ac:	55                   	push   %ebp
4099ad:	8b ec                	mov    %esp,%ebp
4099af:	83 c4 f8             	add    $0xfffffff8,%esp
4099b2:	56                   	push   %esi
4099b3:	8b 75 0c             	mov    0xc(%ebp),%esi
4099b6:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4099ba:	66 83 f8 18          	cmp    $0x18,%ax
4099be:	73 4d                	jae    0x409a0d
4099c0:	66 83 fa 3c          	cmp    $0x3c,%dx
4099c4:	73 47                	jae    0x409a0d
4099c6:	66 83 f9 3c          	cmp    $0x3c,%cx
4099ca:	73 41                	jae    0x409a0d
4099cc:	66 81 fe e8 03       	cmp    $0x3e8,%si
4099d1:	73 3a                	jae    0x409a0d
4099d3:	0f b7 c0             	movzwl %ax,%eax
4099d6:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
4099dc:	0f b7 d2             	movzwl %dx,%edx
4099df:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
4099e5:	03 c2                	add    %edx,%eax
4099e7:	0f b7 d1             	movzwl %cx,%edx
4099ea:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
4099f0:	03 c2                	add    %edx,%eax
4099f2:	0f b7 d6             	movzwl %si,%edx
4099f5:	03 c2                	add    %edx,%eax
4099f7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4099fa:	db 45 f8             	fildl  -0x8(%ebp)
4099fd:	d8 35 18 9a 40 00    	fdivs  0x409a18
409a03:	8b 45 08             	mov    0x8(%ebp),%eax
409a06:	dd 18                	fstpl  (%eax)
409a08:	9b                   	fwait
409a09:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
409a0d:	8a 45 ff             	mov    -0x1(%ebp),%al
409a10:	5e                   	pop    %esi
409a11:	59                   	pop    %ecx
409a12:	59                   	pop    %ecx
409a13:	5d                   	pop    %ebp
409a14:	c2 08 00             	ret    $0x8
409a17:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
409a1d:	8b ec                	mov    %esp,%ebp
409a1f:	83 c4 f4             	add    $0xfffffff4,%esp
409a22:	53                   	push   %ebx
409a23:	56                   	push   %esi
409a24:	57                   	push   %edi
409a25:	8b f9                	mov    %ecx,%edi
409a27:	8b f2                	mov    %edx,%esi
409a29:	8b d8                	mov    %eax,%ebx
409a2b:	8d 45 fc             	lea    -0x4(%ebp),%eax
409a2e:	50                   	push   %eax
409a2f:	ff 75 10             	push   0x10(%ebp)
409a32:	ff 75 0c             	push   0xc(%ebp)
409a35:	8d 45 f4             	lea    -0xc(%ebp),%eax
409a38:	e8 2b ff ff ff       	call   0x409968
409a3d:	8b 45 f4             	mov    -0xc(%ebp),%eax
409a40:	8d 4d fe             	lea    -0x2(%ebp),%ecx
409a43:	66 ba 60 ea          	mov    $0xea60,%dx
409a47:	e8 80 e6 ff ff       	call   0x4080cc
409a4c:	56                   	push   %esi
409a4d:	8b cb                	mov    %ebx,%ecx
409a4f:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
409a53:	66 ba 3c 00          	mov    $0x3c,%dx
409a57:	e8 70 e6 ff ff       	call   0x4080cc
409a5c:	8b 45 08             	mov    0x8(%ebp),%eax
409a5f:	50                   	push   %eax
409a60:	8b cf                	mov    %edi,%ecx
409a62:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
409a66:	66 ba e8 03          	mov    $0x3e8,%dx
409a6a:	e8 5d e6 ff ff       	call   0x4080cc
409a6f:	5f                   	pop    %edi
409a70:	5e                   	pop    %esi
409a71:	5b                   	pop    %ebx
409a72:	8b e5                	mov    %ebp,%esp
409a74:	5d                   	pop    %ebp
409a75:	c2 0c 00             	ret    $0xc
409a78:	53                   	push   %ebx
409a79:	56                   	push   %esi
409a7a:	8b c8                	mov    %eax,%ecx
409a7c:	0f b7 c1             	movzwl %cx,%eax
409a7f:	83 e0 03             	and    $0x3,%eax
409a82:	85 c0                	test   %eax,%eax
409a84:	75 21                	jne    0x409aa7
409a86:	0f b7 d9             	movzwl %cx,%ebx
409a89:	8b c3                	mov    %ebx,%eax
409a8b:	be 64 00 00 00       	mov    $0x64,%esi
409a90:	33 d2                	xor    %edx,%edx
409a92:	f7 f6                	div    %esi
409a94:	85 d2                	test   %edx,%edx
409a96:	75 14                	jne    0x409aac
409a98:	8b c3                	mov    %ebx,%eax
409a9a:	b9 90 01 00 00       	mov    $0x190,%ecx
409a9f:	33 d2                	xor    %edx,%edx
409aa1:	f7 f1                	div    %ecx
409aa3:	85 d2                	test   %edx,%edx
409aa5:	74 05                	je     0x409aac
409aa7:	33 c0                	xor    %eax,%eax
409aa9:	5e                   	pop    %esi
409aaa:	5b                   	pop    %ebx
409aab:	c3                   	ret
409aac:	b0 01                	mov    $0x1,%al
409aae:	5e                   	pop    %esi
409aaf:	5b                   	pop    %ebx
409ab0:	c3                   	ret
409ab1:	8d 40 00             	lea    0x0(%eax),%eax
409ab4:	55                   	push   %ebp
409ab5:	8b ec                	mov    %esp,%ebp
409ab7:	83 c4 f4             	add    $0xfffffff4,%esp
409aba:	53                   	push   %ebx
409abb:	56                   	push   %esi
409abc:	57                   	push   %edi
409abd:	8b d9                	mov    %ecx,%ebx
409abf:	8b fa                	mov    %edx,%edi
409ac1:	8b f0                	mov    %eax,%esi
409ac3:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
409ac7:	8b c6                	mov    %esi,%eax
409ac9:	e8 aa ff ff ff       	call   0x409a78
409ace:	83 e0 7f             	and    $0x7f,%eax
409ad1:	8d 04 40             	lea    (%eax,%eax,2),%eax
409ad4:	8d 04 c5 0c 51 45 00 	lea    0x45510c(,%eax,8),%eax
409adb:	89 45 f8             	mov    %eax,-0x8(%ebp)
409ade:	66 83 fe 01          	cmp    $0x1,%si
409ae2:	0f 82 8e 00 00 00    	jb     0x409b76
409ae8:	66 81 fe 0f 27       	cmp    $0x270f,%si
409aed:	0f 87 83 00 00 00    	ja     0x409b76
409af3:	66 83 ff 01          	cmp    $0x1,%di
409af7:	72 7d                	jb     0x409b76
409af9:	66 83 ff 0c          	cmp    $0xc,%di
409afd:	77 77                	ja     0x409b76
409aff:	66 83 fb 01          	cmp    $0x1,%bx
409b03:	72 71                	jb     0x409b76
409b05:	0f b7 c7             	movzwl %di,%eax
409b08:	8b 55 f8             	mov    -0x8(%ebp),%edx
409b0b:	66 3b 5c 42 fe       	cmp    -0x2(%edx,%eax,2),%bx
409b10:	77 64                	ja     0x409b76
409b12:	0f b7 c7             	movzwl %di,%eax
409b15:	48                   	dec    %eax
409b16:	85 c0                	test   %eax,%eax
409b18:	7e 11                	jle    0x409b2b
409b1a:	b9 01 00 00 00       	mov    $0x1,%ecx
409b1f:	8b 55 f8             	mov    -0x8(%ebp),%edx
409b22:	66 03 5c 4a fe       	add    -0x2(%edx,%ecx,2),%bx
409b27:	41                   	inc    %ecx
409b28:	48                   	dec    %eax
409b29:	75 f4                	jne    0x409b1f
409b2b:	0f b7 ce             	movzwl %si,%ecx
409b2e:	49                   	dec    %ecx
409b2f:	8b c1                	mov    %ecx,%eax
409b31:	be 64 00 00 00       	mov    $0x64,%esi
409b36:	99                   	cltd
409b37:	f7 fe                	idiv   %esi
409b39:	69 f1 6d 01 00 00    	imul   $0x16d,%ecx,%esi
409b3f:	8b d1                	mov    %ecx,%edx
409b41:	85 d2                	test   %edx,%edx
409b43:	79 03                	jns    0x409b48
409b45:	83 c2 03             	add    $0x3,%edx
409b48:	c1 fa 02             	sar    $0x2,%edx
409b4b:	03 f2                	add    %edx,%esi
409b4d:	2b f0                	sub    %eax,%esi
409b4f:	8b c1                	mov    %ecx,%eax
409b51:	b9 90 01 00 00       	mov    $0x190,%ecx
409b56:	99                   	cltd
409b57:	f7 f9                	idiv   %ecx
409b59:	03 f0                	add    %eax,%esi
409b5b:	0f b7 c3             	movzwl %bx,%eax
409b5e:	03 f0                	add    %eax,%esi
409b60:	81 ee 5a 95 0a 00    	sub    $0xa955a,%esi
409b66:	89 75 f4             	mov    %esi,-0xc(%ebp)
409b69:	db 45 f4             	fildl  -0xc(%ebp)
409b6c:	8b 45 08             	mov    0x8(%ebp),%eax
409b6f:	dd 18                	fstpl  (%eax)
409b71:	9b                   	fwait
409b72:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
409b76:	8a 45 ff             	mov    -0x1(%ebp),%al
409b79:	5f                   	pop    %edi
409b7a:	5e                   	pop    %esi
409b7b:	5b                   	pop    %ebx
409b7c:	8b e5                	mov    %ebp,%esp
409b7e:	5d                   	pop    %ebp
409b7f:	c2 04 00             	ret    $0x4
409b82:	8b c0                	mov    %eax,%eax
409b84:	55                   	push   %ebp
409b85:	8b ec                	mov    %esp,%ebp
409b87:	83 c4 e4             	add    $0xffffffe4,%esp
409b8a:	53                   	push   %ebx
409b8b:	56                   	push   %esi
409b8c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
409b8f:	89 55 f8             	mov    %edx,-0x8(%ebp)
409b92:	89 45 fc             	mov    %eax,-0x4(%ebp)
409b95:	8b 5d 08             	mov    0x8(%ebp),%ebx
409b98:	ff 75 10             	push   0x10(%ebp)
409b9b:	ff 75 0c             	push   0xc(%ebp)
409b9e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409ba1:	e8 c2 fd ff ff       	call   0x409968
409ba6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
409ba9:	85 c9                	test   %ecx,%ecx
409bab:	7f 24                	jg     0x409bd1
409bad:	8b 45 fc             	mov    -0x4(%ebp),%eax
409bb0:	66 c7 00 00 00       	movw   $0x0,(%eax)
409bb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
409bb8:	66 c7 00 00 00       	movw   $0x0,(%eax)
409bbd:	8b 45 f4             	mov    -0xc(%ebp),%eax
409bc0:	66 c7 00 00 00       	movw   $0x0,(%eax)
409bc5:	66 c7 03 00 00       	movw   $0x0,(%ebx)
409bca:	33 d2                	xor    %edx,%edx
409bcc:	e9 f8 00 00 00       	jmp    0x409cc9
409bd1:	8b c1                	mov    %ecx,%eax
409bd3:	be 07 00 00 00       	mov    $0x7,%esi
409bd8:	99                   	cltd
409bd9:	f7 fe                	idiv   %esi
409bdb:	42                   	inc    %edx
409bdc:	66 89 13             	mov    %dx,(%ebx)
409bdf:	49                   	dec    %ecx
409be0:	66 bb 01 00          	mov    $0x1,%bx
409be4:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
409bea:	7c 13                	jl     0x409bff
409bec:	81 e9 b1 3a 02 00    	sub    $0x23ab1,%ecx
409bf2:	66 81 c3 90 01       	add    $0x190,%bx
409bf7:	81 f9 b1 3a 02 00    	cmp    $0x23ab1,%ecx
409bfd:	7d ed                	jge    0x409bec
409bff:	8d 45 f2             	lea    -0xe(%ebp),%eax
409c02:	50                   	push   %eax
409c03:	8d 45 f0             	lea    -0x10(%ebp),%eax
409c06:	66 ba ac 8e          	mov    $0x8eac,%dx
409c0a:	91                   	xchg   %eax,%ecx
409c0b:	e8 bc e4 ff ff       	call   0x4080cc
409c10:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
409c15:	75 0a                	jne    0x409c21
409c17:	66 ff 4d f0          	decw   -0x10(%ebp)
409c1b:	66 81 45 f2 ac 8e    	addw   $0x8eac,-0xe(%ebp)
409c21:	66 6b 45 f0 64       	imul   $0x64,-0x10(%ebp),%ax
409c26:	66 03 d8             	add    %ax,%bx
409c29:	8d 45 f2             	lea    -0xe(%ebp),%eax
409c2c:	50                   	push   %eax
409c2d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409c30:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
409c34:	66 ba b5 05          	mov    $0x5b5,%dx
409c38:	e8 8f e4 ff ff       	call   0x4080cc
409c3d:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
409c41:	c1 e0 02             	shl    $0x2,%eax
409c44:	66 03 d8             	add    %ax,%bx
409c47:	8d 45 f2             	lea    -0xe(%ebp),%eax
409c4a:	50                   	push   %eax
409c4b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409c4e:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
409c52:	66 ba 6d 01          	mov    $0x16d,%dx
409c56:	e8 71 e4 ff ff       	call   0x4080cc
409c5b:	66 83 7d f0 04       	cmpw   $0x4,-0x10(%ebp)
409c60:	75 0a                	jne    0x409c6c
409c62:	66 ff 4d f0          	decw   -0x10(%ebp)
409c66:	66 81 45 f2 6d 01    	addw   $0x16d,-0xe(%ebp)
409c6c:	66 03 5d f0          	add    -0x10(%ebp),%bx
409c70:	8b c3                	mov    %ebx,%eax
409c72:	e8 01 fe ff ff       	call   0x409a78
409c77:	8b d0                	mov    %eax,%edx
409c79:	33 c0                	xor    %eax,%eax
409c7b:	8a c2                	mov    %dl,%al
409c7d:	8d 04 40             	lea    (%eax,%eax,2),%eax
409c80:	8d 04 c5 0c 51 45 00 	lea    0x45510c(,%eax,8),%eax
409c87:	89 45 ec             	mov    %eax,-0x14(%ebp)
409c8a:	66 b8 01 00          	mov    $0x1,%ax
409c8e:	0f b7 c8             	movzwl %ax,%ecx
409c91:	8b 75 ec             	mov    -0x14(%ebp),%esi
409c94:	66 8b 4c 4e fe       	mov    -0x2(%esi,%ecx,2),%cx
409c99:	66 89 4d f0          	mov    %cx,-0x10(%ebp)
409c9d:	66 8b 4d f2          	mov    -0xe(%ebp),%cx
409ca1:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
409ca5:	72 0b                	jb     0x409cb2
409ca7:	66 8b 4d f0          	mov    -0x10(%ebp),%cx
409cab:	66 29 4d f2          	sub    %cx,-0xe(%ebp)
409caf:	40                   	inc    %eax
409cb0:	eb dc                	jmp    0x409c8e
409cb2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409cb5:	66 89 19             	mov    %bx,(%ecx)
409cb8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409cbb:	66 89 01             	mov    %ax,(%ecx)
409cbe:	66 8b 45 f2          	mov    -0xe(%ebp),%ax
409cc2:	40                   	inc    %eax
409cc3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409cc6:	66 89 01             	mov    %ax,(%ecx)
409cc9:	8b c2                	mov    %edx,%eax
409ccb:	5e                   	pop    %esi
409ccc:	5b                   	pop    %ebx
409ccd:	8b e5                	mov    %ebp,%esp
409ccf:	5d                   	pop    %ebp
409cd0:	c2 0c 00             	ret    $0xc
409cd3:	90                   	nop
409cd4:	55                   	push   %ebp
409cd5:	8b ec                	mov    %esp,%ebp
409cd7:	51                   	push   %ecx
409cd8:	56                   	push   %esi
409cd9:	8b f0                	mov    %eax,%esi
409cdb:	ff 75 0c             	push   0xc(%ebp)
409cde:	ff 75 08             	push   0x8(%ebp)
409ce1:	8d 45 fe             	lea    -0x2(%ebp),%eax
409ce4:	50                   	push   %eax
409ce5:	8b c6                	mov    %esi,%eax
409ce7:	e8 98 fe ff ff       	call   0x409b84
409cec:	5e                   	pop    %esi
409ced:	59                   	pop    %ecx
409cee:	5d                   	pop    %ebp
409cef:	c2 08 00             	ret    $0x8
409cf2:	8b c0                	mov    %eax,%eax
409cf4:	55                   	push   %ebp
409cf5:	8b ec                	mov    %esp,%ebp
409cf7:	83 c4 f8             	add    $0xfffffff8,%esp
409cfa:	ff 75 0c             	push   0xc(%ebp)
409cfd:	ff 75 08             	push   0x8(%ebp)
409d00:	8d 45 f8             	lea    -0x8(%ebp),%eax
409d03:	e8 60 fc ff ff       	call   0x409968
409d08:	8b 45 fc             	mov    -0x4(%ebp),%eax
409d0b:	b9 07 00 00 00       	mov    $0x7,%ecx
409d10:	99                   	cltd
409d11:	f7 f9                	idiv   %ecx
409d13:	8b c2                	mov    %edx,%eax
409d15:	40                   	inc    %eax
409d16:	59                   	pop    %ecx
409d17:	59                   	pop    %ecx
409d18:	5d                   	pop    %ebp
409d19:	c2 08 00             	ret    $0x8
409d1c:	83 c4 f0             	add    $0xfffffff0,%esp
409d1f:	54                   	push   %esp
409d20:	e8 7f c9 ff ff       	call   0x4066a4
409d25:	66 8b 04 24          	mov    (%esp),%ax
409d29:	83 c4 10             	add    $0x10,%esp
409d2c:	c3                   	ret
409d2d:	8d 40 00             	lea    0x0(%eax),%eax
409d30:	55                   	push   %ebp
409d31:	8b ec                	mov    %esp,%ebp
409d33:	53                   	push   %ebx
409d34:	8b 4d 08             	mov    0x8(%ebp),%ecx
409d37:	bb 00 01 00 00       	mov    $0x100,%ebx
409d3c:	2b 99 fc fe ff ff    	sub    -0x104(%ecx),%ebx
409d42:	3b d3                	cmp    %ebx,%edx
409d44:	7d 02                	jge    0x409d48
409d46:	8b da                	mov    %edx,%ebx
409d48:	85 db                	test   %ebx,%ebx
409d4a:	74 1a                	je     0x409d66
409d4c:	8b 55 08             	mov    0x8(%ebp),%edx
409d4f:	8b 92 fc fe ff ff    	mov    -0x104(%edx),%edx
409d55:	8b 4d 08             	mov    0x8(%ebp),%ecx
409d58:	8d 94 11 00 ff ff ff 	lea    -0x100(%ecx,%edx,1),%edx
409d5f:	8b cb                	mov    %ebx,%ecx
409d61:	e8 f2 8e ff ff       	call   0x402c58
409d66:	8b 45 08             	mov    0x8(%ebp),%eax