410b5f:	7c 12                	jl     0x410b73
410b61:	8b fb                	mov    %ebx,%edi
410b63:	2b 7c 24 10          	sub    0x10(%esp),%edi
410b67:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
410b6b:	8b 7c bd 00          	mov    0x0(%ebp,%edi,4),%edi
410b6f:	89 7c 24 18          	mov    %edi,0x18(%esp)
410b73:	66 8b 3c 9e          	mov    (%esi,%ebx,4),%di
410b77:	66 89 7c 24 1c       	mov    %di,0x1c(%esp)
410b7c:	0f b7 7c 24 1c       	movzwl 0x1c(%esp),%edi
410b81:	03 54 24 18          	add    0x18(%esp),%edx
410b85:	0f af fa             	imul   %edx,%edi
410b88:	8b 14 24             	mov    (%esp),%edx
410b8b:	01 ba a0 16 00 00    	add    %edi,0x16a0(%edx)
410b91:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
410b96:	74 1e                	je     0x410bb6
410b98:	8b 54 24 08          	mov    0x8(%esp),%edx
410b9c:	0f b7 54 9a 02       	movzwl 0x2(%edx,%ebx,4),%edx
410ba1:	03 54 24 18          	add    0x18(%esp),%edx
410ba5:	0f b7 5c 24 1c       	movzwl 0x1c(%esp),%ebx
410baa:	0f af d3             	imul   %ebx,%edx
410bad:	8b 1c 24             	mov    (%esp),%ebx
410bb0:	01 93 a4 16 00 00    	add    %edx,0x16a4(%ebx)
410bb6:	ff 44 24 14          	incl   0x14(%esp)
410bba:	83 c1 04             	add    $0x4,%ecx
410bbd:	81 7c 24 14 3d 02 00 	cmpl   $0x23d,0x14(%esp)
410bc4:	00
410bc5:	0f 8c 5d ff ff ff    	jl     0x410b28
410bcb:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
410bd0:	0f 84 b9 00 00 00    	je     0x410c8f
410bd6:	8d 50 ff             	lea    -0x1(%eax),%edx
410bd9:	8b 0c 24             	mov    (%esp),%ecx
410bdc:	8d 8c 51 34 0b 00 00 	lea    0xb34(%ecx,%edx,2),%ecx
410be3:	eb 04                	jmp    0x410be9
410be5:	4a                   	dec    %edx
410be6:	83 c1 fe             	add    $0xfffffffe,%ecx
410be9:	66 83 39 00          	cmpw   $0x0,(%ecx)
410bed:	74 f6                	je     0x410be5
410bef:	8b 0c 24             	mov    (%esp),%ecx
410bf2:	66 ff 8c 51 34 0b 00 	decw   0xb34(%ecx,%edx,2)
410bf9:	00
410bfa:	8b 0c 24             	mov    (%esp),%ecx
410bfd:	66 83 84 51 36 0b 00 	addw   $0x2,0xb36(%ecx,%edx,2)
410c04:	00 02
410c06:	8b 14 24             	mov    (%esp),%edx
410c09:	66 ff 8c 42 34 0b 00 	decw   0xb34(%edx,%eax,2)
410c10:	00
410c11:	83 6c 24 20 02       	subl   $0x2,0x20(%esp)
410c16:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
410c1b:	7f b9                	jg     0x410bd6
410c1d:	8b d0                	mov    %eax,%edx
410c1f:	8b 04 24             	mov    (%esp),%eax
410c22:	85 d2                	test   %edx,%edx
410c24:	8d 8c 50 34 0b 00 00 	lea    0xb34(%eax,%edx,2),%ecx
410c2b:	89 4c 24 24          	mov    %ecx,0x24(%esp)
410c2f:	74 5e                	je     0x410c8f
410c31:	8b 44 24 24          	mov    0x24(%esp),%eax
410c35:	0f b7 18             	movzwl (%eax),%ebx
410c38:	8b 04 24             	mov    (%esp),%eax
410c3b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410c3f:	8d 84 88 54 0b 00 00 	lea    0xb54(%eax,%ecx,4),%eax
410c46:	85 db                	test   %ebx,%ebx
410c48:	74 3b                	je     0x410c85
410c4a:	ff 4c 24 14          	decl   0x14(%esp)
410c4e:	83 c0 fc             	add    $0xfffffffc,%eax
410c51:	8b 08                	mov    (%eax),%ecx
410c53:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
410c57:	7f df                	jg     0x410c38
410c59:	0f b7 7c 8e 02       	movzwl 0x2(%esi,%ecx,4),%edi
410c5e:	3b d7                	cmp    %edi,%edx
410c60:	74 1e                	je     0x410c80
410c62:	0f b7 7c 8e 02       	movzwl 0x2(%esi,%ecx,4),%edi
410c67:	8b ea                	mov    %edx,%ebp
410c69:	2b ef                	sub    %edi,%ebp
410c6b:	0f b7 3c 8e          	movzwl (%esi,%ecx,4),%edi
410c6f:	0f af ef             	imul   %edi,%ebp
410c72:	8b 3c 24             	mov    (%esp),%edi
410c75:	01 af a0 16 00 00    	add    %ebp,0x16a0(%edi)
410c7b:	66 89 54 8e 02       	mov    %dx,0x2(%esi,%ecx,4)
410c80:	4b                   	dec    %ebx
410c81:	85 db                	test   %ebx,%ebx
410c83:	75 c5                	jne    0x410c4a
410c85:	4a                   	dec    %edx
410c86:	83 44 24 24 fe       	addl   $0xfffffffe,0x24(%esp)
410c8b:	85 d2                	test   %edx,%edx
410c8d:	75 a2                	jne    0x410c31
410c8f:	83 c4 28             	add    $0x28,%esp
410c92:	5d                   	pop    %ebp
410c93:	5f                   	pop    %edi
410c94:	5e                   	pop    %esi
410c95:	5b                   	pop    %ebx
410c96:	c3                   	ret
410c97:	90                   	nop
410c98:	53                   	push   %ebx
410c99:	56                   	push   %esi
410c9a:	57                   	push   %edi
410c9b:	83 c4 d8             	add    $0xffffffd8,%esp
410c9e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
410ca2:	89 14 24             	mov    %edx,(%esp)
410ca5:	33 f6                	xor    %esi,%esi
410ca7:	b9 01 00 00 00       	mov    $0x1,%ecx
410cac:	8d 5c 24 0a          	lea    0xa(%esp),%ebx
410cb0:	8b 54 24 04          	mov    0x4(%esp),%edx
410cb4:	66 8b 3a             	mov    (%edx),%di
410cb7:	83 c2 02             	add    $0x2,%edx
410cba:	66 03 fe             	add    %si,%di
410cbd:	41                   	inc    %ecx
410cbe:	03 ff                	add    %edi,%edi
410cc0:	66 89 3b             	mov    %di,(%ebx)
410cc3:	83 c3 02             	add    $0x2,%ebx
410cc6:	83 f9 0f             	cmp    $0xf,%ecx
410cc9:	8b f7                	mov    %edi,%esi
410ccb:	7e e7                	jle    0x410cb4
410ccd:	33 ff                	xor    %edi,%edi
410ccf:	8d 58 02             	lea    0x2(%eax),%ebx
410cd2:	3b 3c 24             	cmp    (%esp),%edi
410cd5:	7f 28                	jg     0x410cff
410cd7:	0f b7 33             	movzwl (%ebx),%esi
410cda:	85 f6                	test   %esi,%esi
410cdc:	74 18                	je     0x410cf6
410cde:	66 8b 44 74 08       	mov    0x8(%esp,%esi,2),%ax
410ce3:	66 ff 44 74 08       	incw   0x8(%esp,%esi,2)
410ce8:	0f b7 c0             	movzwl %ax,%eax
410ceb:	8b d6                	mov    %esi,%edx
410ced:	e8 92 18 00 00       	call   0x412584
410cf2:	66 89 43 fe          	mov    %ax,-0x2(%ebx)
410cf6:	47                   	inc    %edi
410cf7:	83 c3 04             	add    $0x4,%ebx
410cfa:	3b 3c 24             	cmp    (%esp),%edi
410cfd:	7e d8                	jle    0x410cd7
410cff:	83 c4 28             	add    $0x28,%esp
410d02:	5f                   	pop    %edi
410d03:	5e                   	pop    %esi
410d04:	5b                   	pop    %ebx
410d05:	c3                   	ret
410d06:	90                   	nop
410d07:	90                   	nop
410d08:	53                   	push   %ebx
410d09:	56                   	push   %esi
410d0a:	57                   	push   %edi
410d0b:	55                   	push   %ebp
410d0c:	83 c4 f0             	add    $0xfffffff0,%esp
410d0f:	8b d8                	mov    %eax,%ebx
410d11:	33 f6                	xor    %esi,%esi
410d13:	89 14 24             	mov    %edx,(%esp)
410d16:	8b 04 24             	mov    (%esp),%eax
410d19:	8b 28                	mov    (%eax),%ebp
410d1b:	8b 04 24             	mov    (%esp),%eax
410d1e:	8b 40 08             	mov    0x8(%eax),%eax
410d21:	8b 10                	mov    (%eax),%edx
410d23:	89 54 24 04          	mov    %edx,0x4(%esp)
410d27:	8d 93 50 14 00 00    	lea    0x1450(%ebx),%edx
410d2d:	8b 48 0c             	mov    0xc(%eax),%ecx
410d30:	33 c0                	xor    %eax,%eax
410d32:	89 4c 24 08          	mov    %ecx,0x8(%esp)
410d36:	c7 44 24 0c ff ff ff 	movl   $0xffffffff,0xc(%esp)
410d3d:	ff
410d3e:	89 83 48 14 00 00    	mov    %eax,0x1448(%ebx)
410d44:	8b c5                	mov    %ebp,%eax
410d46:	c7 83 4c 14 00 00 3d 	movl   $0x23d,0x144c(%ebx)
410d4d:	02 00 00
410d50:	3b 74 24 08          	cmp    0x8(%esp),%esi
410d54:	0f 8d 88 00 00 00    	jge    0x410de2
410d5a:	66 83 38 00          	cmpw   $0x0,(%eax)
410d5e:	74 1c                	je     0x410d7c
410d60:	89 74 24 0c          	mov    %esi,0xc(%esp)
410d64:	ff 83 48 14 00 00    	incl   0x1448(%ebx)
410d6a:	8b 8b 48 14 00 00    	mov    0x1448(%ebx),%ecx
410d70:	89 b4 8b 54 0b 00 00 	mov    %esi,0xb54(%ebx,%ecx,4)
410d77:	c6 02 00             	movb   $0x0,(%edx)
410d7a:	eb 06                	jmp    0x410d82
410d7c:	66 c7 40 02 00 00    	movw   $0x0,0x2(%eax)
410d82:	46                   	inc    %esi
410d83:	42                   	inc    %edx
410d84:	83 c0 04             	add    $0x4,%eax
410d87:	3b 74 24 08          	cmp    0x8(%esp),%esi
410d8b:	7c cd                	jl     0x410d5a
410d8d:	eb 53                	jmp    0x410de2
410d8f:	83 7c 24 0c 02       	cmpl   $0x2,0xc(%esp)
410d94:	7d 0a                	jge    0x410da0
410d96:	ff 44 24 0c          	incl   0xc(%esp)
410d9a:	8b 44 24 0c          	mov    0xc(%esp),%eax
410d9e:	eb 02                	jmp    0x410da2
410da0:	33 c0                	xor    %eax,%eax
410da2:	ff 83 48 14 00 00    	incl   0x1448(%ebx)
410da8:	8b f8                	mov    %eax,%edi
410daa:	8b 93 48 14 00 00    	mov    0x1448(%ebx),%edx
410db0:	89 84 93 54 0b 00 00 	mov    %eax,0xb54(%ebx,%edx,4)
410db7:	66 c7 44 bd 00 01 00 	movw   $0x1,0x0(%ebp,%edi,4)
410dbe:	c6 84 3b 50 14 00 00 	movb   $0x0,0x1450(%ebx,%edi,1)
410dc5:	00
410dc6:	ff 8b a0 16 00 00    	decl   0x16a0(%ebx)
410dcc:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
410dd1:	74 0f                	je     0x410de2
410dd3:	8b 44 24 04          	mov    0x4(%esp),%eax
410dd7:	0f b7 54 b8 02       	movzwl 0x2(%eax,%edi,4),%edx
410ddc:	29 93 a4 16 00 00    	sub    %edx,0x16a4(%ebx)
410de2:	83 bb 48 14 00 00 02 	cmpl   $0x2,0x1448(%ebx)
410de9:	7c a4                	jl     0x410d8f
410deb:	8b 0c 24             	mov    (%esp),%ecx
410dee:	8b 44 24 0c          	mov    0xc(%esp),%eax
410df2:	89 41 04             	mov    %eax,0x4(%ecx)
410df5:	8b b3 48 14 00 00    	mov    0x1448(%ebx),%esi
410dfb:	d1 fe                	sar    $1,%esi
410dfd:	79 03                	jns    0x410e02
410dff:	83 d6 00             	adc    $0x0,%esi
410e02:	83 fe 01             	cmp    $0x1,%esi
410e05:	7c 11                	jl     0x410e18
410e07:	8b ce                	mov    %esi,%ecx
410e09:	8b d5                	mov    %ebp,%edx
410e0b:	8b c3                	mov    %ebx,%eax
410e0d:	e8 92 fb ff ff       	call   0x4109a4
410e12:	4e                   	dec    %esi
410e13:	83 fe 01             	cmp    $0x1,%esi
410e16:	7d ef                	jge    0x410e07
410e18:	8b 7c 24 08          	mov    0x8(%esp),%edi
410e1c:	8b 83 48 14 00 00    	mov    0x1448(%ebx),%eax
410e22:	8b b3 58 0b 00 00    	mov    0xb58(%ebx),%esi
410e28:	83 83 48 14 00 00 ff 	addl   $0xffffffff,0x1448(%ebx)
410e2f:	8b 94 83 54 0b 00 00 	mov    0xb54(%ebx,%eax,4),%edx
410e36:	8b c3                	mov    %ebx,%eax
410e38:	89 93 58 0b 00 00    	mov    %edx,0xb58(%ebx)
410e3e:	8b d5                	mov    %ebp,%edx
410e40:	b9 01 00 00 00       	mov    $0x1,%ecx
410e45:	e8 5a fb ff ff       	call   0x4109a4
410e4a:	8b 83 58 0b 00 00    	mov    0xb58(%ebx),%eax
410e50:	ff 8b 4c 14 00 00    	decl   0x144c(%ebx)
410e56:	8b 93 4c 14 00 00    	mov    0x144c(%ebx),%edx
410e5c:	89 b4 93 54 0b 00 00 	mov    %esi,0xb54(%ebx,%edx,4)
410e63:	ff 8b 4c 14 00 00    	decl   0x144c(%ebx)
410e69:	8b 8b 4c 14 00 00    	mov    0x144c(%ebx),%ecx
410e6f:	89 84 8b 54 0b 00 00 	mov    %eax,0xb54(%ebx,%ecx,4)
410e76:	66 8b 54 85 00       	mov    0x0(%ebp,%eax,4),%dx
410e7b:	66 03 54 b5 00       	add    0x0(%ebp,%esi,4),%dx
410e80:	52                   	push   %edx
410e81:	59                   	pop    %ecx
410e82:	66 89 4c bd 00       	mov    %cx,0x0(%ebp,%edi,4)
410e87:	8a 94 03 50 14 00 00 	mov    0x1450(%ebx,%eax,1),%dl
410e8e:	3a 94 33 50 14 00 00 	cmp    0x1450(%ebx,%esi,1),%dl
410e95:	77 09                	ja     0x410ea0
410e97:	8a 8c 33 50 14 00 00 	mov    0x1450(%ebx,%esi,1),%cl
410e9e:	eb 07                	jmp    0x410ea7
410ea0:	8a 8c 03 50 14 00 00 	mov    0x1450(%ebx,%eax,1),%cl
410ea7:	41                   	inc    %ecx
410ea8:	8b d5                	mov    %ebp,%edx
410eaa:	88 8c 3b 50 14 00 00 	mov    %cl,0x1450(%ebx,%edi,1)
410eb1:	b9 01 00 00 00       	mov    $0x1,%ecx
410eb6:	66 89 7c 85 02       	mov    %di,0x2(%ebp,%eax,4)
410ebb:	8b c3                	mov    %ebx,%eax
410ebd:	66 89 7c b5 02       	mov    %di,0x2(%ebp,%esi,4)
410ec2:	89 bb 58 0b 00 00    	mov    %edi,0xb58(%ebx)
410ec8:	47                   	inc    %edi
410ec9:	e8 d6 fa ff ff       	call   0x4109a4
410ece:	83 bb 48 14 00 00 02 	cmpl   $0x2,0x1448(%ebx)
410ed5:	0f 8d 41 ff ff ff    	jge    0x410e1c
410edb:	ff 8b 4c 14 00 00    	decl   0x144c(%ebx)
410ee1:	8b 83 4c 14 00 00    	mov    0x144c(%ebx),%eax
410ee7:	8b 93 58 0b 00 00    	mov    0xb58(%ebx),%edx
410eed:	89 94 83 54 0b 00 00 	mov    %edx,0xb54(%ebx,%eax,4)
410ef4:	8b c3                	mov    %ebx,%eax
410ef6:	8b 14 24             	mov    (%esp),%edx
410ef9:	e8 9a fb ff ff       	call   0x410a98
410efe:	8d 8b 34 0b 00 00    	lea    0xb34(%ebx),%ecx
410f04:	8b 54 24 0c          	mov    0xc(%esp),%edx
410f08:	8b c5                	mov    %ebp,%eax
410f0a:	e8 89 fd ff ff       	call   0x410c98
410f0f:	83 c4 10             	add    $0x10,%esp
410f12:	5d                   	pop    %ebp
410f13:	5f                   	pop    %edi
410f14:	5e                   	pop    %esi
410f15:	5b                   	pop    %ebx
410f16:	c3                   	ret
410f17:	90                   	nop
410f18:	53                   	push   %ebx
410f19:	56                   	push   %esi
410f1a:	57                   	push   %edi
410f1b:	83 c4 ec             	add    $0xffffffec,%esp
410f1e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
410f22:	89 04 24             	mov    %eax,(%esp)
410f25:	c7 44 24 0c ff ff ff 	movl   $0xffffffff,0xc(%esp)
410f2c:	ff
410f2d:	0f b7 5a 02          	movzwl 0x2(%edx),%ebx
410f31:	33 f6                	xor    %esi,%esi
410f33:	b9 07 00 00 00       	mov    $0x7,%ecx
410f38:	b8 04 00 00 00       	mov    $0x4,%eax
410f3d:	85 db                	test   %ebx,%ebx
410f3f:	75 0a                	jne    0x410f4b
410f41:	b9 8a 00 00 00       	mov    $0x8a,%ecx
410f46:	b8 03 00 00 00       	mov    $0x3,%eax
410f4b:	8b 7c 24 04          	mov    0x4(%esp),%edi
410f4f:	66 c7 44 ba 06 ff ff 	movw   $0xffff,0x6(%edx,%edi,4)
410f56:	33 ff                	xor    %edi,%edi
410f58:	83 c2 06             	add    $0x6,%edx
410f5b:	89 7c 24 08          	mov    %edi,0x8(%esp)
410f5f:	89 54 24 10          	mov    %edx,0x10(%esp)
410f63:	8b 54 24 08          	mov    0x8(%esp),%edx
410f67:	3b 54 24 04          	cmp    0x4(%esp),%edx
410f6b:	0f 8f a6 00 00 00    	jg     0x411017
410f71:	8b d3                	mov    %ebx,%edx
410f73:	8b 5c 24 10          	mov    0x10(%esp),%ebx
410f77:	46                   	inc    %esi
410f78:	0f b7 1b             	movzwl (%ebx),%ebx
410f7b:	3b ce                	cmp    %esi,%ecx
410f7d:	7e 04                	jle    0x410f83
410f7f:	3b da                	cmp    %edx,%ebx
410f81:	74 7d                	je     0x411000
410f83:	3b c6                	cmp    %esi,%eax
410f85:	7e 0d                	jle    0x410f94
410f87:	8b 04 24             	mov    (%esp),%eax
410f8a:	66 01 b4 90 74 0a 00 	add    %si,0xa74(%eax,%edx,4)
410f91:	00
410f92:	eb 3c                	jmp    0x410fd0
410f94:	85 d2                	test   %edx,%edx
410f96:	74 1d                	je     0x410fb5
410f98:	3b 54 24 0c          	cmp    0xc(%esp),%edx
410f9c:	74 0b                	je     0x410fa9
410f9e:	8b 0c 24             	mov    (%esp),%ecx
410fa1:	66 ff 84 91 74 0a 00 	incw   0xa74(%ecx,%edx,4)
410fa8:	00
410fa9:	8b 04 24             	mov    (%esp),%eax
410fac:	66 ff 80 b4 0a 00 00 	incw   0xab4(%eax)
410fb3:	eb 1b                	jmp    0x410fd0
410fb5:	83 fe 0a             	cmp    $0xa,%esi
410fb8:	7f 0c                	jg     0x410fc6
410fba:	8b 0c 24             	mov    (%esp),%ecx
410fbd:	66 ff 81 b8 0a 00 00 	incw   0xab8(%ecx)
410fc4:	eb 0a                	jmp    0x410fd0
410fc6:	8b 04 24             	mov    (%esp),%eax
410fc9:	66 ff 80 bc 0a 00 00 	incw   0xabc(%eax)
410fd0:	33 f6                	xor    %esi,%esi
410fd2:	89 54 24 0c          	mov    %edx,0xc(%esp)
410fd6:	85 db                	test   %ebx,%ebx
410fd8:	75 0c                	jne    0x410fe6
410fda:	b9 8a 00 00 00       	mov    $0x8a,%ecx
410fdf:	b8 03 00 00 00       	mov    $0x3,%eax
410fe4:	eb 1a                	jmp    0x411000
410fe6:	3b da                	cmp    %edx,%ebx
410fe8:	75 0c                	jne    0x410ff6
410fea:	b9 06 00 00 00       	mov    $0x6,%ecx
410fef:	b8 03 00 00 00       	mov    $0x3,%eax
410ff4:	eb 0a                	jmp    0x411000
410ff6:	b9 07 00 00 00       	mov    $0x7,%ecx
410ffb:	b8 04 00 00 00       	mov    $0x4,%eax
411000:	ff 44 24 08          	incl   0x8(%esp)
411004:	83 44 24 10 04       	addl   $0x4,0x10(%esp)
411009:	8b 54 24 08          	mov    0x8(%esp),%edx
41100d:	3b 54 24 04          	cmp    0x4(%esp),%edx
411011:	0f 8e 5a ff ff ff    	jle    0x410f71
411017:	83 c4 14             	add    $0x14,%esp
41101a:	5f                   	pop    %edi
41101b:	5e                   	pop    %esi