4068c3:	73 14                	jae    0x4068d9
4068c5:	8b f8                	mov    %eax,%edi
4068c7:	f7 d2                	not    %edx
4068c9:	b8 00 08 00 00       	mov    $0x800,%eax
4068ce:	2b 45 c0             	sub    -0x40(%ebp),%eax
4068d1:	c1 e8 05             	shr    $0x5,%eax
4068d4:	03 45 cc             	add    -0x34(%ebp),%eax
4068d7:	eb 11                	jmp    0x4068ea
4068d9:	2b f8                	sub    %eax,%edi
4068db:	2b f0                	sub    %eax,%esi
4068dd:	8b 45 c0             	mov    -0x40(%ebp),%eax
4068e0:	41                   	inc    %ecx
4068e1:	c1 e8 05             	shr    $0x5,%eax
4068e4:	29 45 cc             	sub    %eax,-0x34(%ebp)
4068e7:	8b 45 cc             	mov    -0x34(%ebp),%eax
4068ea:	21 55 bc             	and    %edx,-0x44(%ebp)
4068ed:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
4068f0:	8b 55 f8             	mov    -0x8(%ebp),%edx
4068f3:	0f b7 c0             	movzwl %ax,%eax
4068f6:	66 89 04 5a          	mov    %ax,(%edx,%ebx,2)
4068fa:	8b 55 bc             	mov    -0x44(%ebp),%edx
4068fd:	8b 5d f4             	mov    -0xc(%ebp),%ebx
406900:	89 55 bc             	mov    %edx,-0x44(%ebp)
406903:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
406909:	0f 82 69 ff ff ff    	jb     0x406878
40690f:	8b 45 e8             	mov    -0x18(%ebp),%eax
406912:	8b 55 c8             	mov    -0x38(%ebp),%edx
406915:	88 0c 10             	mov    %cl,(%eax,%edx,1)
406918:	8b c8                	mov    %eax,%ecx
40691a:	8b 45 e0             	mov    -0x20(%ebp),%eax
40691d:	41                   	inc    %ecx
40691e:	40                   	inc    %eax
40691f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
406922:	89 45 e0             	mov    %eax,-0x20(%ebp)
406925:	e9 0b 0a 00 00       	jmp    0x407335
40692a:	2b f8                	sub    %eax,%edi
40692c:	c1 ea 05             	shr    $0x5,%edx
40692f:	2b f0                	sub    %eax,%esi
406931:	8b 45 b4             	mov    -0x4c(%ebp),%eax
406934:	2b c2                	sub    %edx,%eax
406936:	8b 55 f0             	mov    -0x10(%ebp),%edx
406939:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
40693d:	8b 55 ec             	mov    -0x14(%ebp),%edx
406940:	8b 45 f0             	mov    -0x10(%ebp),%eax
406943:	0f b7 94 50 80 01 00 	movzwl 0x180(%eax,%edx,2),%edx
40694a:	00
40694b:	8b ca                	mov    %edx,%ecx
40694d:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
406953:	73 0f                	jae    0x406964
406955:	0f b6 03             	movzbl (%ebx),%eax
406958:	c1 e6 08             	shl    $0x8,%esi
40695b:	c1 e7 08             	shl    $0x8,%edi
40695e:	0b f0                	or     %eax,%esi
406960:	43                   	inc    %ebx
406961:	89 5d f4             	mov    %ebx,-0xc(%ebp)
406964:	8b c7                	mov    %edi,%eax
406966:	c1 e8 0b             	shr    $0xb,%eax
406969:	0f af c1             	imul   %ecx,%eax
40696c:	3b f0                	cmp    %eax,%esi
40696e:	73 2c                	jae    0x40699c
406970:	8b f8                	mov    %eax,%edi
406972:	b8 00 08 00 00       	mov    $0x800,%eax
406977:	2b c1                	sub    %ecx,%eax
406979:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40697c:	c1 e8 05             	shr    $0x5,%eax
40697f:	03 c2                	add    %edx,%eax
406981:	8b 55 f0             	mov    -0x10(%ebp),%edx
406984:	66 89 84 4a 80 01 00 	mov    %ax,0x180(%edx,%ecx,2)
40698b:	00
40698c:	83 c1 0c             	add    $0xc,%ecx
40698f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
406992:	b8 64 06 00 00       	mov    $0x664,%eax
406997:	e9 30 02 00 00       	jmp    0x406bcc
40699c:	c1 e9 05             	shr    $0x5,%ecx
40699f:	2b f8                	sub    %eax,%edi
4069a1:	2b d1                	sub    %ecx,%edx
4069a3:	2b f0                	sub    %eax,%esi
4069a5:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
4069a9:	8b 45 ec             	mov    -0x14(%ebp),%eax
4069ac:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4069af:	66 89 94 41 80 01 00 	mov    %dx,0x180(%ecx,%eax,2)
4069b6:	00
4069b7:	75 0a                	jne    0x4069c3
4069b9:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
4069bd:	0f 84 e5 09 00 00    	je     0x4073a8
4069c3:	0f b7 84 41 98 01 00 	movzwl 0x198(%ecx,%eax,2),%eax
4069ca:	00
4069cb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4069ce:	0f b7 d0             	movzwl %ax,%edx
4069d1:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
4069d7:	73 12                	jae    0x4069eb
4069d9:	0f b6 03             	movzbl (%ebx),%eax
4069dc:	c1 e6 08             	shl    $0x8,%esi
4069df:	0b f0                	or     %eax,%esi
4069e1:	c1 e7 08             	shl    $0x8,%edi
4069e4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4069e7:	43                   	inc    %ebx
4069e8:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4069eb:	8b cf                	mov    %edi,%ecx
4069ed:	c1 e9 0b             	shr    $0xb,%ecx
4069f0:	0f af ca             	imul   %edx,%ecx
4069f3:	3b f1                	cmp    %ecx,%esi
4069f5:	0f 83 c4 00 00 00    	jae    0x406abf
4069fb:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4069fe:	b8 00 08 00 00       	mov    $0x800,%eax
406a03:	2b c2                	sub    %edx,%eax
406a05:	8b f9                	mov    %ecx,%edi
406a07:	8b 55 ec             	mov    -0x14(%ebp),%edx
406a0a:	c1 e8 05             	shr    $0x5,%eax
406a0d:	03 45 b4             	add    -0x4c(%ebp),%eax
406a10:	66 89 84 53 98 01 00 	mov    %ax,0x198(%ebx,%edx,2)
406a17:	00
406a18:	8d 42 0f             	lea    0xf(%edx),%eax
406a1b:	c1 e0 04             	shl    $0x4,%eax
406a1e:	8b d3                	mov    %ebx,%edx
406a20:	03 45 bc             	add    -0x44(%ebp),%eax
406a23:	8b 5d f4             	mov    -0xc(%ebp),%ebx
406a26:	89 45 c0             	mov    %eax,-0x40(%ebp)
406a29:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
406a2d:	89 45 b4             	mov    %eax,-0x4c(%ebp)
406a30:	0f b7 d0             	movzwl %ax,%edx
406a33:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
406a39:	73 0f                	jae    0x406a4a
406a3b:	0f b6 03             	movzbl (%ebx),%eax
406a3e:	c1 e6 08             	shl    $0x8,%esi
406a41:	c1 e7 08             	shl    $0x8,%edi
406a44:	0b f0                	or     %eax,%esi
406a46:	43                   	inc    %ebx
406a47:	89 5d f4             	mov    %ebx,-0xc(%ebp)
406a4a:	8b 4d c0             	mov    -0x40(%ebp),%ecx
406a4d:	8b c7                	mov    %edi,%eax
406a4f:	c1 e8 0b             	shr    $0xb,%eax
406a52:	0f af c2             	imul   %edx,%eax
406a55:	3b f0                	cmp    %eax,%esi
406a57:	73 4e                	jae    0x406aa7
406a59:	8b f8                	mov    %eax,%edi
406a5b:	b8 00 08 00 00       	mov    $0x800,%eax
406a60:	2b c2                	sub    %edx,%eax
406a62:	8b 55 f0             	mov    -0x10(%ebp),%edx
406a65:	c1 e8 05             	shr    $0x5,%eax
406a68:	03 45 b4             	add    -0x4c(%ebp),%eax
406a6b:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
406a6f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
406a72:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
406a75:	8b 55 c8             	mov    -0x38(%ebp),%edx
406a78:	1b c0                	sbb    %eax,%eax
406a7a:	23 45 d8             	and    -0x28(%ebp),%eax
406a7d:	2b 45 dc             	sub    -0x24(%ebp),%eax
406a80:	03 c1                	add    %ecx,%eax
406a82:	8a 04 10             	mov    (%eax,%edx,1),%al
406a85:	88 04 11             	mov    %al,(%ecx,%edx,1)
406a88:	41                   	inc    %ecx
406a89:	8b 45 e0             	mov    -0x20(%ebp),%eax
406a8c:	40                   	inc    %eax
406a8d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
406a90:	83 7d ec 07          	cmpl   $0x7,-0x14(%ebp)
406a94:	89 45 e0             	mov    %eax,-0x20(%ebp)
406a97:	1b d2                	sbb    %edx,%edx
406a99:	83 e2 fe             	and    $0xfffffffe,%edx
406a9c:	83 c2 0b             	add    $0xb,%edx
406a9f:	89 55 ec             	mov    %edx,-0x14(%ebp)
406aa2:	e9 91 08 00 00       	jmp    0x407338
406aa7:	2b f8                	sub    %eax,%edi
406aa9:	c1 ea 05             	shr    $0x5,%edx
406aac:	2b f0                	sub    %eax,%esi
406aae:	8b 45 b4             	mov    -0x4c(%ebp),%eax
406ab1:	2b c2                	sub    %edx,%eax
406ab3:	8b 55 f0             	mov    -0x10(%ebp),%edx
406ab6:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
406aba:	e9 f9 00 00 00       	jmp    0x406bb8
406abf:	c1 ea 05             	shr    $0x5,%edx
406ac2:	2b f9                	sub    %ecx,%edi
406ac4:	2b c2                	sub    %edx,%eax
406ac6:	2b f1                	sub    %ecx,%esi
406ac8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406acb:	8b 55 f0             	mov    -0x10(%ebp),%edx
406ace:	66 89 84 4a 98 01 00 	mov    %ax,0x198(%edx,%ecx,2)
406ad5:	00
406ad6:	0f b7 94 4a b0 01 00 	movzwl 0x1b0(%edx,%ecx,2),%edx
406add:	00
406ade:	8b ca                	mov    %edx,%ecx
406ae0:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
406ae6:	73 0f                	jae    0x406af7
406ae8:	0f b6 03             	movzbl (%ebx),%eax
406aeb:	c1 e6 08             	shl    $0x8,%esi
406aee:	c1 e7 08             	shl    $0x8,%edi
406af1:	0b f0                	or     %eax,%esi
406af3:	43                   	inc    %ebx
406af4:	89 5d f4             	mov    %ebx,-0xc(%ebp)
406af7:	8b c7                	mov    %edi,%eax
406af9:	c1 e8 0b             	shr    $0xb,%eax
406afc:	0f af c1             	imul   %ecx,%eax
406aff:	3b f0                	cmp    %eax,%esi
406b01:	73 24                	jae    0x406b27
406b03:	8b f8                	mov    %eax,%edi
406b05:	b8 00 08 00 00       	mov    $0x800,%eax
406b0a:	2b c1                	sub    %ecx,%eax
406b0c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406b0f:	c1 e8 05             	shr    $0x5,%eax
406b12:	03 c2                	add    %edx,%eax
406b14:	8b 55 ec             	mov    -0x14(%ebp),%edx
406b17:	66 89 84 51 b0 01 00 	mov    %ax,0x1b0(%ecx,%edx,2)
406b1e:	00
406b1f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
406b22:	e9 88 00 00 00       	jmp    0x406baf
406b27:	c1 e9 05             	shr    $0x5,%ecx
406b2a:	2b f8                	sub    %eax,%edi
406b2c:	2b d1                	sub    %ecx,%edx
406b2e:	2b f0                	sub    %eax,%esi
406b30:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406b33:	8b 45 ec             	mov    -0x14(%ebp),%eax
406b36:	66 89 94 41 b0 01 00 	mov    %dx,0x1b0(%ecx,%eax,2)
406b3d:	00
406b3e:	0f b7 94 41 c8 01 00 	movzwl 0x1c8(%ecx,%eax,2),%edx
406b45:	00
406b46:	8b ca                	mov    %edx,%ecx
406b48:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
406b4e:	73 0f                	jae    0x406b5f
406b50:	0f b6 03             	movzbl (%ebx),%eax
406b53:	c1 e6 08             	shl    $0x8,%esi
406b56:	c1 e7 08             	shl    $0x8,%edi
406b59:	0b f0                	or     %eax,%esi
406b5b:	43                   	inc    %ebx
406b5c:	89 5d f4             	mov    %ebx,-0xc(%ebp)
406b5f:	8b 5d d0             	mov    -0x30(%ebp),%ebx
406b62:	8b c7                	mov    %edi,%eax
406b64:	c1 e8 0b             	shr    $0xb,%eax
406b67:	0f af c1             	imul   %ecx,%eax
406b6a:	3b f0                	cmp    %eax,%esi
406b6c:	73 18                	jae    0x406b86
406b6e:	8b f8                	mov    %eax,%edi
406b70:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
406b73:	b8 00 08 00 00       	mov    $0x800,%eax
406b78:	2b c1                	sub    %ecx,%eax
406b7a:	c1 e8 05             	shr    $0x5,%eax
406b7d:	03 c2                	add    %edx,%eax
406b7f:	0f b7 c8             	movzwl %ax,%ecx
406b82:	8b c3                	mov    %ebx,%eax
406b84:	eb 12                	jmp    0x406b98
406b86:	c1 e9 05             	shr    $0x5,%ecx
406b89:	2b f8                	sub    %eax,%edi
406b8b:	2b f0                	sub    %eax,%esi
406b8d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
406b90:	2b d1                	sub    %ecx,%edx
406b92:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
406b95:	0f b7 ca             	movzwl %dx,%ecx
406b98:	8b 5d f0             	mov    -0x10(%ebp),%ebx
406b9b:	8b 55 ec             	mov    -0x14(%ebp),%edx
406b9e:	66 89 8c 53 c8 01 00 	mov    %cx,0x1c8(%ebx,%edx,2)
406ba5:	00
406ba6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
406ba9:	8b 5d f4             	mov    -0xc(%ebp),%ebx
406bac:	89 4d d0             	mov    %ecx,-0x30(%ebp)
406baf:	8b 4d dc             	mov    -0x24(%ebp),%ecx
406bb2:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
406bb5:	89 45 dc             	mov    %eax,-0x24(%ebp)
406bb8:	83 7d ec 07          	cmpl   $0x7,-0x14(%ebp)
406bbc:	1b c0                	sbb    %eax,%eax
406bbe:	83 e0 fd             	and    $0xfffffffd,%eax
406bc1:	83 c0 0b             	add    $0xb,%eax
406bc4:	89 45 ec             	mov    %eax,-0x14(%ebp)
406bc7:	b8 68 0a 00 00       	mov    $0xa68,%eax
406bcc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406bcf:	03 c8                	add    %eax,%ecx
406bd1:	0f b7 01             	movzwl (%ecx),%eax
406bd4:	89 45 b4             	mov    %eax,-0x4c(%ebp)
406bd7:	0f b7 d0             	movzwl %ax,%edx
406bda:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
406be0:	73 0c                	jae    0x406bee
406be2:	0f b6 03             	movzbl (%ebx),%eax
406be5:	c1 e6 08             	shl    $0x8,%esi
406be8:	c1 e7 08             	shl    $0x8,%edi
406beb:	0b f0                	or     %eax,%esi
406bed:	43                   	inc    %ebx
406bee:	8b c7                	mov    %edi,%eax
406bf0:	c1 e8 0b             	shr    $0xb,%eax
406bf3:	0f af c2             	imul   %edx,%eax
406bf6:	3b f0                	cmp    %eax,%esi
406bf8:	73 2d                	jae    0x406c27
406bfa:	8b f8                	mov    %eax,%edi
406bfc:	b8 00 08 00 00       	mov    $0x800,%eax
406c01:	2b c2                	sub    %edx,%eax
406c03:	8b 55 bc             	mov    -0x44(%ebp),%edx
406c06:	c1 e2 04             	shl    $0x4,%edx
406c09:	c1 e8 05             	shr    $0x5,%eax
406c0c:	83 c2 04             	add    $0x4,%edx
406c0f:	03 45 b4             	add    -0x4c(%ebp),%eax
406c12:	03 d1                	add    %ecx,%edx
406c14:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
406c18:	66 89 01             	mov    %ax,(%ecx)
406c1b:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
406c22:	e9 88 00 00 00       	jmp    0x406caf
406c27:	2b f8                	sub    %eax,%edi
406c29:	c1 ea 05             	shr    $0x5,%edx
406c2c:	2b f0                	sub    %eax,%esi
406c2e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
406c31:	2b c2                	sub    %edx,%eax
406c33:	66 89 01             	mov    %ax,(%ecx)
406c36:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
406c3a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
406c3d:	0f b7 d0             	movzwl %ax,%edx
406c40:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
406c46:	73 0c                	jae    0x406c54
406c48:	0f b6 03             	movzbl (%ebx),%eax
406c4b:	c1 e6 08             	shl    $0x8,%esi
406c4e:	c1 e7 08             	shl    $0x8,%edi
406c51:	0b f0                	or     %eax,%esi
406c53:	43                   	inc    %ebx
406c54:	8b c7                	mov    %edi,%eax
406c56:	c1 e8 0b             	shr    $0xb,%eax
406c59:	0f af c2             	imul   %edx,%eax
406c5c:	3b f0                	cmp    %eax,%esi
406c5e:	73 2c                	jae    0x406c8c
406c60:	8b f8                	mov    %eax,%edi
406c62:	b8 00 08 00 00       	mov    $0x800,%eax
406c67:	2b c2                	sub    %edx,%eax
406c69:	8b 55 bc             	mov    -0x44(%ebp),%edx
406c6c:	c1 e8 05             	shr    $0x5,%eax
406c6f:	03 45 b4             	add    -0x4c(%ebp),%eax
406c72:	c1 e2 04             	shl    $0x4,%edx
406c75:	81 c2 04 01 00 00    	add    $0x104,%edx
406c7b:	66 89 41 02          	mov    %ax,0x2(%ecx)
406c7f:	6a 08                	push   $0x8
406c81:	03 d1                	add    %ecx,%edx
406c83:	59                   	pop    %ecx
406c84:	89 4d cc             	mov    %ecx,-0x34(%ebp)
406c87:	89 4d bc             	mov    %ecx,-0x44(%ebp)
406c8a:	eb 23                	jmp    0x406caf
406c8c:	2b f8                	sub    %eax,%edi
406c8e:	c1 ea 05             	shr    $0x5,%edx
406c91:	2b f0                	sub    %eax,%esi
406c93:	c7 45 bc 00 01 00 00 	movl   $0x100,-0x44(%ebp)
406c9a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
406c9d:	2b c2                	sub    %edx,%eax
406c9f:	8d 91 04 02 00 00    	lea    0x204(%ecx),%edx
406ca5:	6a 10                	push   $0x10
406ca7:	66 89 41 02          	mov    %ax,0x2(%ecx)
406cab:	58                   	pop    %eax
406cac:	89 45 cc             	mov    %eax,-0x34(%ebp)
406caf:	33 c0                	xor    %eax,%eax
406cb1:	89 55 c0             	mov    %edx,-0x40(%ebp)
406cb4:	40                   	inc    %eax
406cb5:	03 c0                	add    %eax,%eax
406cb7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406cba:	03 c2                	add    %edx,%eax
406cbc:	89 45 9c             	mov    %eax,-0x64(%ebp)
406cbf:	0f b7 10             	movzwl (%eax),%edx
406cc2:	8b ca                	mov    %edx,%ecx
406cc4:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
406cca:	73 0c                	jae    0x406cd8