409b98:	a1 60 09 43 00       	mov    0x430960,%eax
409b9d:	ba 00 00 00 80       	mov    $0x80000000,%edx
409ba2:	d3 ea                	shr    %cl,%edx
409ba4:	09 50 08             	or     %edx,0x8(%eax)
409ba7:	a1 60 09 43 00       	mov    0x430960,%eax
409bac:	8b 40 10             	mov    0x10(%eax),%eax
409baf:	8b 0d 9c 23 c7 00    	mov    0xc7239c,%ecx
409bb5:	83 a4 88 c4 00 00 00 	andl   $0x0,0xc4(%eax,%ecx,4)
409bbc:	00
409bbd:	a1 60 09 43 00       	mov    0x430960,%eax
409bc2:	8b 40 10             	mov    0x10(%eax),%eax
409bc5:	fe 48 43             	decb   0x43(%eax)
409bc8:	a1 60 09 43 00       	mov    0x430960,%eax
409bcd:	8b 48 10             	mov    0x10(%eax),%ecx
409bd0:	80 79 43 00          	cmpb   $0x0,0x43(%ecx)
409bd4:	75 09                	jne    0x409bdf
409bd6:	83 60 04 fe          	andl   $0xfffffffe,0x4(%eax)
409bda:	a1 60 09 43 00       	mov    0x430960,%eax
409bdf:	83 78 08 ff          	cmpl   $0xffffffff,0x8(%eax)
409be3:	75 65                	jne    0x409c4a
409be5:	53                   	push   %ebx
409be6:	6a 00                	push   $0x0
409be8:	ff 70 0c             	push   0xc(%eax)
409beb:	ff d6                	call   *%esi
409bed:	a1 60 09 43 00       	mov    0x430960,%eax
409bf2:	ff 70 10             	push   0x10(%eax)
409bf5:	6a 00                	push   $0x0
409bf7:	ff 35 08 08 43 00    	push   0x430808
409bfd:	ff 15 9c a0 41 00    	call   *0x41a09c
409c03:	8b 0d 88 23 c7 00    	mov    0xc72388,%ecx
409c09:	a1 60 09 43 00       	mov    0x430960,%eax
409c0e:	6b c9 14             	imul   $0x14,%ecx,%ecx
409c11:	8b 15 8c 23 c7 00    	mov    0xc7238c,%edx
409c17:	2b c8                	sub    %eax,%ecx
409c19:	8d 4c 11 ec          	lea    -0x14(%ecx,%edx,1),%ecx
409c1d:	51                   	push   %ecx
409c1e:	8d 48 14             	lea    0x14(%eax),%ecx
409c21:	51                   	push   %ecx
409c22:	50                   	push   %eax
409c23:	e8 88 e8 ff ff       	call   0x4084b0
409c28:	8b 45 08             	mov    0x8(%ebp),%eax
409c2b:	83 c4 0c             	add    $0xc,%esp
409c2e:	ff 0d 88 23 c7 00    	decl   0xc72388
409c34:	3b 05 60 09 43 00    	cmp    0x430960,%eax
409c3a:	76 04                	jbe    0x409c40
409c3c:	83 6d 08 14          	subl   $0x14,0x8(%ebp)
409c40:	a1 8c 23 c7 00       	mov    0xc7238c,%eax
409c45:	a3 94 23 c7 00       	mov    %eax,0xc72394
409c4a:	8b 45 08             	mov    0x8(%ebp),%eax
409c4d:	a3 60 09 43 00       	mov    %eax,0x430960
409c52:	89 3d 9c 23 c7 00    	mov    %edi,0xc7239c
409c58:	5b                   	pop    %ebx
409c59:	5f                   	pop    %edi
409c5a:	5e                   	pop    %esi
409c5b:	c9                   	leave
409c5c:	c3                   	ret
409c5d:	a1 98 23 c7 00       	mov    0xc72398,%eax
409c62:	56                   	push   %esi
409c63:	8b 35 88 23 c7 00    	mov    0xc72388,%esi
409c69:	57                   	push   %edi
409c6a:	33 ff                	xor    %edi,%edi
409c6c:	3b f0                	cmp    %eax,%esi
409c6e:	75 34                	jne    0x409ca4
409c70:	83 c0 10             	add    $0x10,%eax
409c73:	6b c0 14             	imul   $0x14,%eax,%eax
409c76:	50                   	push   %eax
409c77:	ff 35 8c 23 c7 00    	push   0xc7238c
409c7d:	57                   	push   %edi
409c7e:	ff 35 08 08 43 00    	push   0x430808
409c84:	ff 15 e4 a0 41 00    	call   *0x41a0e4
409c8a:	3b c7                	cmp    %edi,%eax
409c8c:	75 04                	jne    0x409c92
409c8e:	33 c0                	xor    %eax,%eax
409c90:	eb 78                	jmp    0x409d0a
409c92:	83 05 98 23 c7 00 10 	addl   $0x10,0xc72398
409c99:	8b 35 88 23 c7 00    	mov    0xc72388,%esi
409c9f:	a3 8c 23 c7 00       	mov    %eax,0xc7238c
409ca4:	6b f6 14             	imul   $0x14,%esi,%esi
409ca7:	03 35 8c 23 c7 00    	add    0xc7238c,%esi
409cad:	68 c4 41 00 00       	push   $0x41c4
409cb2:	6a 08                	push   $0x8
409cb4:	ff 35 08 08 43 00    	push   0x430808
409cba:	ff 15 d4 a0 41 00    	call   *0x41a0d4
409cc0:	89 46 10             	mov    %eax,0x10(%esi)
409cc3:	3b c7                	cmp    %edi,%eax
409cc5:	74 c7                	je     0x409c8e
409cc7:	6a 04                	push   $0x4
409cc9:	68 00 20 00 00       	push   $0x2000
409cce:	68 00 00 10 00       	push   $0x100000
409cd3:	57                   	push   %edi
409cd4:	ff 15 e0 a0 41 00    	call   *0x41a0e0
409cda:	89 46 0c             	mov    %eax,0xc(%esi)
409cdd:	3b c7                	cmp    %edi,%eax
409cdf:	75 12                	jne    0x409cf3
409ce1:	ff 76 10             	push   0x10(%esi)
409ce4:	57                   	push   %edi
409ce5:	ff 35 08 08 43 00    	push   0x430808
409ceb:	ff 15 9c a0 41 00    	call   *0x41a09c
409cf1:	eb 9b                	jmp    0x409c8e
409cf3:	83 4e 08 ff          	orl    $0xffffffff,0x8(%esi)
409cf7:	89 3e                	mov    %edi,(%esi)
409cf9:	89 7e 04             	mov    %edi,0x4(%esi)
409cfc:	ff 05 88 23 c7 00    	incl   0xc72388
409d02:	8b 46 10             	mov    0x10(%esi),%eax
409d05:	83 08 ff             	orl    $0xffffffff,(%eax)
409d08:	8b c6                	mov    %esi,%eax
409d0a:	5f                   	pop    %edi
409d0b:	5e                   	pop    %esi
409d0c:	c3                   	ret
409d0d:	8b ff                	mov    %edi,%edi
409d0f:	55                   	push   %ebp
409d10:	8b ec                	mov    %esp,%ebp
409d12:	51                   	push   %ecx
409d13:	51                   	push   %ecx
409d14:	8b 4d 08             	mov    0x8(%ebp),%ecx
409d17:	8b 41 08             	mov    0x8(%ecx),%eax
409d1a:	53                   	push   %ebx
409d1b:	56                   	push   %esi
409d1c:	8b 71 10             	mov    0x10(%ecx),%esi
409d1f:	57                   	push   %edi
409d20:	33 db                	xor    %ebx,%ebx
409d22:	eb 03                	jmp    0x409d27
409d24:	03 c0                	add    %eax,%eax
409d26:	43                   	inc    %ebx
409d27:	85 c0                	test   %eax,%eax
409d29:	7d f9                	jge    0x409d24
409d2b:	8b c3                	mov    %ebx,%eax
409d2d:	69 c0 04 02 00 00    	imul   $0x204,%eax,%eax
409d33:	8d 84 30 44 01 00 00 	lea    0x144(%eax,%esi,1),%eax
409d3a:	6a 3f                	push   $0x3f
409d3c:	89 45 f8             	mov    %eax,-0x8(%ebp)
409d3f:	5a                   	pop    %edx
409d40:	89 40 08             	mov    %eax,0x8(%eax)
409d43:	89 40 04             	mov    %eax,0x4(%eax)
409d46:	83 c0 08             	add    $0x8,%eax
409d49:	4a                   	dec    %edx
409d4a:	75 f4                	jne    0x409d40
409d4c:	6a 04                	push   $0x4
409d4e:	8b fb                	mov    %ebx,%edi
409d50:	68 00 10 00 00       	push   $0x1000
409d55:	c1 e7 0f             	shl    $0xf,%edi
409d58:	03 79 0c             	add    0xc(%ecx),%edi
409d5b:	68 00 80 00 00       	push   $0x8000
409d60:	57                   	push   %edi
409d61:	ff 15 e0 a0 41 00    	call   *0x41a0e0
409d67:	85 c0                	test   %eax,%eax
409d69:	75 08                	jne    0x409d73
409d6b:	83 c8 ff             	or     $0xffffffff,%eax
409d6e:	e9 9d 00 00 00       	jmp    0x409e10
409d73:	8d 97 00 70 00 00    	lea    0x7000(%edi),%edx
409d79:	89 55 fc             	mov    %edx,-0x4(%ebp)
409d7c:	3b fa                	cmp    %edx,%edi
409d7e:	77 43                	ja     0x409dc3
409d80:	8b ca                	mov    %edx,%ecx
409d82:	2b cf                	sub    %edi,%ecx
409d84:	c1 e9 0c             	shr    $0xc,%ecx
409d87:	8d 47 10             	lea    0x10(%edi),%eax
409d8a:	41                   	inc    %ecx
409d8b:	83 48 f8 ff          	orl    $0xffffffff,-0x8(%eax)
409d8f:	83 88 ec 0f 00 00 ff 	orl    $0xffffffff,0xfec(%eax)
409d96:	8d 90 fc 0f 00 00    	lea    0xffc(%eax),%edx
409d9c:	89 10                	mov    %edx,(%eax)
409d9e:	8d 90 fc ef ff ff    	lea    -0x1004(%eax),%edx
409da4:	c7 40 fc f0 0f 00 00 	movl   $0xff0,-0x4(%eax)
409dab:	89 50 04             	mov    %edx,0x4(%eax)
409dae:	c7 80 e8 0f 00 00 f0 	movl   $0xff0,0xfe8(%eax)
409db5:	0f 00 00
409db8:	05 00 10 00 00       	add    $0x1000,%eax
409dbd:	49                   	dec    %ecx
409dbe:	75 cb                	jne    0x409d8b
409dc0:	8b 55 fc             	mov    -0x4(%ebp),%edx
409dc3:	8b 45 f8             	mov    -0x8(%ebp),%eax
409dc6:	05 f8 01 00 00       	add    $0x1f8,%eax
409dcb:	8d 4f 0c             	lea    0xc(%edi),%ecx
409dce:	89 48 04             	mov    %ecx,0x4(%eax)
409dd1:	89 41 08             	mov    %eax,0x8(%ecx)
409dd4:	8d 4a 0c             	lea    0xc(%edx),%ecx
409dd7:	89 48 08             	mov    %ecx,0x8(%eax)
409dda:	89 41 04             	mov    %eax,0x4(%ecx)
409ddd:	83 64 9e 44 00       	andl   $0x0,0x44(%esi,%ebx,4)
409de2:	33 ff                	xor    %edi,%edi
409de4:	47                   	inc    %edi
409de5:	89 bc 9e c4 00 00 00 	mov    %edi,0xc4(%esi,%ebx,4)
409dec:	8a 46 43             	mov    0x43(%esi),%al
409def:	8a c8                	mov    %al,%cl
409df1:	fe c1                	inc    %cl
409df3:	84 c0                	test   %al,%al
409df5:	8b 45 08             	mov    0x8(%ebp),%eax
409df8:	88 4e 43             	mov    %cl,0x43(%esi)
409dfb:	75 03                	jne    0x409e00
409dfd:	09 78 04             	or     %edi,0x4(%eax)
409e00:	ba 00 00 00 80       	mov    $0x80000000,%edx
409e05:	8b cb                	mov    %ebx,%ecx
409e07:	d3 ea                	shr    %cl,%edx
409e09:	f7 d2                	not    %edx
409e0b:	21 50 08             	and    %edx,0x8(%eax)
409e0e:	8b c3                	mov    %ebx,%eax
409e10:	5f                   	pop    %edi
409e11:	5e                   	pop    %esi
409e12:	5b                   	pop    %ebx
409e13:	c9                   	leave
409e14:	c3                   	ret
409e15:	8b ff                	mov    %edi,%edi
409e17:	55                   	push   %ebp
409e18:	8b ec                	mov    %esp,%ebp
409e1a:	83 ec 0c             	sub    $0xc,%esp
409e1d:	8b 4d 08             	mov    0x8(%ebp),%ecx
409e20:	8b 41 10             	mov    0x10(%ecx),%eax
409e23:	53                   	push   %ebx
409e24:	56                   	push   %esi
409e25:	8b 75 10             	mov    0x10(%ebp),%esi
409e28:	57                   	push   %edi
409e29:	8b 7d 0c             	mov    0xc(%ebp),%edi
409e2c:	8b d7                	mov    %edi,%edx
409e2e:	2b 51 0c             	sub    0xc(%ecx),%edx
409e31:	83 c6 17             	add    $0x17,%esi
409e34:	c1 ea 0f             	shr    $0xf,%edx
409e37:	8b ca                	mov    %edx,%ecx
409e39:	69 c9 04 02 00 00    	imul   $0x204,%ecx,%ecx
409e3f:	8d 8c 01 44 01 00 00 	lea    0x144(%ecx,%eax,1),%ecx
409e46:	89 4d f4             	mov    %ecx,-0xc(%ebp)
409e49:	8b 4f fc             	mov    -0x4(%edi),%ecx
409e4c:	83 e6 f0             	and    $0xfffffff0,%esi
409e4f:	49                   	dec    %ecx
409e50:	3b f1                	cmp    %ecx,%esi
409e52:	8d 7c 39 fc          	lea    -0x4(%ecx,%edi,1),%edi
409e56:	8b 1f                	mov    (%edi),%ebx
409e58:	89 4d 10             	mov    %ecx,0x10(%ebp)
409e5b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
409e5e:	0f 8e 55 01 00 00    	jle    0x409fb9
409e64:	f6 c3 01             	test   $0x1,%bl
409e67:	0f 85 45 01 00 00    	jne    0x409fb2
409e6d:	03 d9                	add    %ecx,%ebx
409e6f:	3b f3                	cmp    %ebx,%esi
409e71:	0f 8f 3b 01 00 00    	jg     0x409fb2
409e77:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409e7a:	c1 f9 04             	sar    $0x4,%ecx
409e7d:	49                   	dec    %ecx
409e7e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409e81:	83 f9 3f             	cmp    $0x3f,%ecx
409e84:	76 06                	jbe    0x409e8c
409e86:	6a 3f                	push   $0x3f
409e88:	59                   	pop    %ecx
409e89:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409e8c:	8b 5f 04             	mov    0x4(%edi),%ebx
409e8f:	3b 5f 08             	cmp    0x8(%edi),%ebx
409e92:	75 43                	jne    0x409ed7
409e94:	bb 00 00 00 80       	mov    $0x80000000,%ebx
409e99:	83 f9 20             	cmp    $0x20,%ecx
409e9c:	73 1a                	jae    0x409eb8
409e9e:	d3 eb                	shr    %cl,%ebx
409ea0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409ea3:	8d 4c 01 04          	lea    0x4(%ecx,%eax,1),%ecx
409ea7:	f7 d3                	not    %ebx
409ea9:	21 5c 90 44          	and    %ebx,0x44(%eax,%edx,4)
409ead:	fe 09                	decb   (%ecx)
409eaf:	75 26                	jne    0x409ed7
409eb1:	8b 4d 08             	mov    0x8(%ebp),%ecx
409eb4:	21 19                	and    %ebx,(%ecx)
409eb6:	eb 1f                	jmp    0x409ed7
409eb8:	83 c1 e0             	add    $0xffffffe0,%ecx
409ebb:	d3 eb                	shr    %cl,%ebx
409ebd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409ec0:	8d 4c 01 04          	lea    0x4(%ecx,%eax,1),%ecx
409ec4:	f7 d3                	not    %ebx
409ec6:	21 9c 90 c4 00 00 00 	and    %ebx,0xc4(%eax,%edx,4)
409ecd:	fe 09                	decb   (%ecx)
409ecf:	75 06                	jne    0x409ed7
409ed1:	8b 4d 08             	mov    0x8(%ebp),%ecx
409ed4:	21 59 04             	and    %ebx,0x4(%ecx)
409ed7:	8b 4f 08             	mov    0x8(%edi),%ecx
409eda:	8b 5f 04             	mov    0x4(%edi),%ebx
409edd:	89 59 04             	mov    %ebx,0x4(%ecx)
409ee0:	8b 4f 04             	mov    0x4(%edi),%ecx
409ee3:	8b 7f 08             	mov    0x8(%edi),%edi
409ee6:	89 79 08             	mov    %edi,0x8(%ecx)
409ee9:	8b 4d 10             	mov    0x10(%ebp),%ecx
409eec:	2b ce                	sub    %esi,%ecx
409eee:	01 4d fc             	add    %ecx,-0x4(%ebp)
409ef1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
409ef5:	0f 8e a5 00 00 00    	jle    0x409fa0
409efb:	8b 7d fc             	mov    -0x4(%ebp),%edi
409efe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409f01:	c1 ff 04             	sar    $0x4,%edi
409f04:	4f                   	dec    %edi
409f05:	8d 4c 31 fc          	lea    -0x4(%ecx,%esi,1),%ecx
409f09:	83 ff 3f             	cmp    $0x3f,%edi
409f0c:	76 03                	jbe    0x409f11
409f0e:	6a 3f                	push   $0x3f
409f10:	5f                   	pop    %edi
409f11:	8b 5d f4             	mov    -0xc(%ebp),%ebx
409f14:	8d 1c fb             	lea    (%ebx,%edi,8),%ebx
409f17:	89 5d 10             	mov    %ebx,0x10(%ebp)
409f1a:	8b 5b 04             	mov    0x4(%ebx),%ebx
409f1d:	89 59 04             	mov    %ebx,0x4(%ecx)
409f20:	8b 5d 10             	mov    0x10(%ebp),%ebx
409f23:	89 59 08             	mov    %ebx,0x8(%ecx)
409f26:	89 4b 04             	mov    %ecx,0x4(%ebx)
409f29:	8b 59 04             	mov    0x4(%ecx),%ebx
409f2c:	89 4b 08             	mov    %ecx,0x8(%ebx)
409f2f:	8b 59 04             	mov    0x4(%ecx),%ebx
409f32:	3b 59 08             	cmp    0x8(%ecx),%ebx
409f35:	75 57                	jne    0x409f8e
409f37:	8a 4c 07 04          	mov    0x4(%edi,%eax,1),%cl
409f3b:	88 4d 13             	mov    %cl,0x13(%ebp)
409f3e:	fe c1                	inc    %cl
409f40:	88 4c 07 04          	mov    %cl,0x4(%edi,%eax,1)
409f44:	83 ff 20             	cmp    $0x20,%edi
409f47:	73 1c                	jae    0x409f65
409f49:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
409f4d:	75 0e                	jne    0x409f5d
409f4f:	8b cf                	mov    %edi,%ecx
409f51:	bb 00 00 00 80       	mov    $0x80000000,%ebx
409f56:	d3 eb                	shr    %cl,%ebx
409f58:	8b 4d 08             	mov    0x8(%ebp),%ecx
409f5b:	09 19                	or     %ebx,(%ecx)
409f5d:	8d 44 90 44          	lea    0x44(%eax,%edx,4),%eax
409f61:	8b cf                	mov    %edi,%ecx
409f63:	eb 20                	jmp    0x409f85
409f65:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
409f69:	75 10                	jne    0x409f7b
409f6b:	8d 4f e0             	lea    -0x20(%edi),%ecx
409f6e:	bb 00 00 00 80       	mov    $0x80000000,%ebx
409f73:	d3 eb                	shr    %cl,%ebx
409f75:	8b 4d 08             	mov    0x8(%ebp),%ecx
409f78:	09 59 04             	or     %ebx,0x4(%ecx)
409f7b:	8d 84 90 c4 00 00 00 	lea    0xc4(%eax,%edx,4),%eax
409f82:	8d 4f e0             	lea    -0x20(%edi),%ecx
409f85:	ba 00 00 00 80       	mov    $0x80000000,%edx
409f8a:	d3 ea                	shr    %cl,%edx
409f8c:	09 10                	or     %edx,(%eax)
409f8e:	8b 55 0c             	mov    0xc(%ebp),%edx
409f91:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409f94:	8d 44 32 fc          	lea    -0x4(%edx,%esi,1),%eax
409f98:	89 08                	mov    %ecx,(%eax)
409f9a:	89 4c 01 fc          	mov    %ecx,-0x4(%ecx,%eax,1)
409f9e:	eb 03                	jmp    0x409fa3
409fa0:	8b 55 0c             	mov    0xc(%ebp),%edx
409fa3:	8d 46 01             	lea    0x1(%esi),%eax
409fa6:	89 42 fc             	mov    %eax,-0x4(%edx)
409fa9:	89 44 32 f8          	mov    %eax,-0x8(%edx,%esi,1)
409fad:	e9 3c 01 00 00       	jmp    0x40a0ee
409fb2:	33 c0                	xor    %eax,%eax
409fb4:	e9 38 01 00 00       	jmp    0x40a0f1
409fb9:	0f 8d 2f 01 00 00    	jge    0x40a0ee
409fbf:	8b 5d 0c             	mov    0xc(%ebp),%ebx
409fc2:	29 75 10             	sub    %esi,0x10(%ebp)
409fc5:	8d 4e 01             	lea    0x1(%esi),%ecx
409fc8:	89 4b fc             	mov    %ecx,-0x4(%ebx)
409fcb:	8d 5c 33 fc          	lea    -0x4(%ebx,%esi,1),%ebx