411a51:	8b 48 14             	mov    0x14(%eax),%ecx
411a54:	ff 40 14             	incl   0x14(%eax)
411a57:	8b 50 08             	mov    0x8(%eax),%edx
411a5a:	8d 0c 0a             	lea    (%edx,%ecx,1),%ecx
411a5d:	51                   	push   %ecx
411a5e:	0f b7 90 b0 16 00 00 	movzwl 0x16b0(%eax),%edx
411a65:	59                   	pop    %ecx
411a66:	c1 fa 08             	sar    $0x8,%edx
411a69:	88 11                	mov    %dl,(%ecx)
411a6b:	b9 10 00 00 00       	mov    $0x10,%ecx
411a70:	0f b7 d6             	movzwl %si,%edx
411a73:	2b 88 b4 16 00 00    	sub    0x16b4(%eax),%ecx
411a79:	d3 fa                	sar    %cl,%edx
411a7b:	66 89 90 b0 16 00 00 	mov    %dx,0x16b0(%eax)
411a82:	03 98 b4 16 00 00    	add    0x16b4(%eax),%ebx
411a88:	89 98 b4 16 00 00    	mov    %ebx,0x16b4(%eax)
411a8e:	eb 16                	jmp    0x411aa6
411a90:	8b 88 b4 16 00 00    	mov    0x16b4(%eax),%ecx
411a96:	66 d3 e6             	shl    %cl,%si
411a99:	66 09 b0 b0 16 00 00 	or     %si,0x16b0(%eax)
411aa0:	01 98 b4 16 00 00    	add    %ebx,0x16b4(%eax)
411aa6:	6a 01                	push   $0x1
411aa8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411aab:	8b 55 fc             	mov    -0x4(%ebp),%edx
411aae:	e8 c9 0b 00 00       	call   0x41267c
411ab3:	5e                   	pop    %esi
411ab4:	5b                   	pop    %ebx
411ab5:	59                   	pop    %ecx
411ab6:	59                   	pop    %ecx
411ab7:	5d                   	pop    %ebp
411ab8:	c2 04 00             	ret    $0x4
411abb:	90                   	nop
411abc:	53                   	push   %ebx
411abd:	56                   	push   %esi
411abe:	57                   	push   %edi
411abf:	8b d8                	mov    %eax,%ebx
411ac1:	b8 03 00 00 00       	mov    $0x3,%eax
411ac6:	ba 10 00 00 00       	mov    $0x10,%edx
411acb:	2b d0                	sub    %eax,%edx
411acd:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
411ad3:	3b d6                	cmp    %esi,%edx
411ad5:	7d 70                	jge    0x411b47
411ad7:	ba 02 00 00 00       	mov    $0x2,%edx
411adc:	8b ce                	mov    %esi,%ecx
411ade:	8b fa                	mov    %edx,%edi
411ae0:	83 e8 10             	sub    $0x10,%eax
411ae3:	8b f7                	mov    %edi,%esi
411ae5:	66 d3 e6             	shl    %cl,%si
411ae8:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
411aef:	0f b7 d7             	movzwl %di,%edx
411af2:	8b 4b 14             	mov    0x14(%ebx),%ecx
411af5:	ff 43 14             	incl   0x14(%ebx)
411af8:	8b 73 08             	mov    0x8(%ebx),%esi
411afb:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
411afe:	51                   	push   %ecx
411aff:	5e                   	pop    %esi
411b00:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
411b06:	80 e1 ff             	and    $0xff,%cl
411b09:	88 0e                	mov    %cl,(%esi)
411b0b:	8b 4b 14             	mov    0x14(%ebx),%ecx
411b0e:	ff 43 14             	incl   0x14(%ebx)
411b11:	8b 73 08             	mov    0x8(%ebx),%esi
411b14:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
411b17:	51                   	push   %ecx
411b18:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
411b1f:	5e                   	pop    %esi
411b20:	c1 f9 08             	sar    $0x8,%ecx
411b23:	88 0e                	mov    %cl,(%esi)
411b25:	b9 10 00 00 00       	mov    $0x10,%ecx
411b2a:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
411b30:	d3 fa                	sar    %cl,%edx
411b32:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
411b39:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
411b3f:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
411b45:	eb 1a                	jmp    0x411b61
411b47:	66 ba 02 00          	mov    $0x2,%dx
411b4b:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411b51:	66 d3 e2             	shl    %cl,%dx
411b54:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
411b5b:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
411b61:	b8 c2 6a 42 00       	mov    $0x426ac2,%eax
411b66:	ba 10 00 00 00       	mov    $0x10,%edx
411b6b:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
411b71:	0f b7 00             	movzwl (%eax),%eax
411b74:	2b d0                	sub    %eax,%edx
411b76:	3b d6                	cmp    %esi,%edx
411b78:	7d 73                	jge    0x411bed
411b7a:	ba c0 6a 42 00       	mov    $0x426ac0,%edx
411b7f:	8b ce                	mov    %esi,%ecx
411b81:	83 e8 10             	sub    $0x10,%eax
411b84:	0f b7 12             	movzwl (%edx),%edx
411b87:	8b fa                	mov    %edx,%edi
411b89:	0f b7 d7             	movzwl %di,%edx
411b8c:	8b f7                	mov    %edi,%esi
411b8e:	66 d3 e6             	shl    %cl,%si
411b91:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
411b98:	8b 4b 14             	mov    0x14(%ebx),%ecx
411b9b:	ff 43 14             	incl   0x14(%ebx)
411b9e:	8b 73 08             	mov    0x8(%ebx),%esi
411ba1:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
411ba4:	51                   	push   %ecx
411ba5:	5e                   	pop    %esi
411ba6:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
411bac:	80 e1 ff             	and    $0xff,%cl
411baf:	88 0e                	mov    %cl,(%esi)
411bb1:	8b 4b 14             	mov    0x14(%ebx),%ecx
411bb4:	ff 43 14             	incl   0x14(%ebx)
411bb7:	8b 73 08             	mov    0x8(%ebx),%esi
411bba:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
411bbd:	51                   	push   %ecx
411bbe:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
411bc5:	5e                   	pop    %esi
411bc6:	c1 f9 08             	sar    $0x8,%ecx
411bc9:	88 0e                	mov    %cl,(%esi)
411bcb:	b9 10 00 00 00       	mov    $0x10,%ecx
411bd0:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
411bd6:	d3 fa                	sar    %cl,%edx
411bd8:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
411bdf:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
411be5:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
411beb:	eb 1e                	jmp    0x411c0b
411bed:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411bf3:	ba c0 6a 42 00       	mov    $0x426ac0,%edx
411bf8:	66 8b 12             	mov    (%edx),%dx
411bfb:	66 d3 e2             	shl    %cl,%dx
411bfe:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
411c05:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
411c0b:	8b c3                	mov    %ebx,%eax
411c0d:	e8 8e 09 00 00       	call   0x4125a0
411c12:	8b 8b ac 16 00 00    	mov    0x16ac(%ebx),%ecx
411c18:	83 c1 0b             	add    $0xb,%ecx
411c1b:	8b 93 b4 16 00 00    	mov    0x16b4(%ebx),%edx
411c21:	2b ca                	sub    %edx,%ecx
411c23:	83 f9 09             	cmp    $0x9,%ecx
411c26:	0f 8d 4b 01 00 00    	jge    0x411d77
411c2c:	b8 03 00 00 00       	mov    $0x3,%eax
411c31:	b9 10 00 00 00       	mov    $0x10,%ecx
411c36:	2b c8                	sub    %eax,%ecx
411c38:	3b d1                	cmp    %ecx,%edx
411c3a:	7e 70                	jle    0x411cac
411c3c:	be 02 00 00 00       	mov    $0x2,%esi
411c41:	8b ca                	mov    %edx,%ecx
411c43:	8b fe                	mov    %esi,%edi
411c45:	83 e8 10             	sub    $0x10,%eax
411c48:	8b d7                	mov    %edi,%edx
411c4a:	66 d3 e2             	shl    %cl,%dx
411c4d:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
411c54:	8b 4b 14             	mov    0x14(%ebx),%ecx
411c57:	ff 43 14             	incl   0x14(%ebx)
411c5a:	8b 53 08             	mov    0x8(%ebx),%edx
411c5d:	8d 0c 0a             	lea    (%edx,%ecx,1),%ecx
411c60:	51                   	push   %ecx
411c61:	59                   	pop    %ecx
411c62:	8a 93 b0 16 00 00    	mov    0x16b0(%ebx),%dl
411c68:	80 e2 ff             	and    $0xff,%dl
411c6b:	88 11                	mov    %dl,(%ecx)
411c6d:	8b 53 14             	mov    0x14(%ebx),%edx
411c70:	ff 43 14             	incl   0x14(%ebx)
411c73:	8b 4b 08             	mov    0x8(%ebx),%ecx
411c76:	8d 14 11             	lea    (%ecx,%edx,1),%edx
411c79:	52                   	push   %edx
411c7a:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
411c81:	5a                   	pop    %edx
411c82:	c1 f9 08             	sar    $0x8,%ecx
411c85:	88 0a                	mov    %cl,(%edx)
411c87:	b9 10 00 00 00       	mov    $0x10,%ecx
411c8c:	0f b7 d7             	movzwl %di,%edx
411c8f:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
411c95:	d3 fa                	sar    %cl,%edx
411c97:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
411c9e:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
411ca4:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
411caa:	eb 1a                	jmp    0x411cc6
411cac:	66 ba 02 00          	mov    $0x2,%dx
411cb0:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411cb6:	66 d3 e2             	shl    %cl,%dx
411cb9:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
411cc0:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
411cc6:	b8 c2 6a 42 00       	mov    $0x426ac2,%eax
411ccb:	ba 10 00 00 00       	mov    $0x10,%edx
411cd0:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
411cd6:	0f b7 00             	movzwl (%eax),%eax
411cd9:	2b d0                	sub    %eax,%edx
411cdb:	3b d6                	cmp    %esi,%edx
411cdd:	7d 73                	jge    0x411d52
411cdf:	ba c0 6a 42 00       	mov    $0x426ac0,%edx
411ce4:	8b ce                	mov    %esi,%ecx
411ce6:	83 e8 10             	sub    $0x10,%eax
411ce9:	0f b7 12             	movzwl (%edx),%edx
411cec:	8b fa                	mov    %edx,%edi
411cee:	0f b7 d7             	movzwl %di,%edx
411cf1:	8b f7                	mov    %edi,%esi
411cf3:	66 d3 e6             	shl    %cl,%si
411cf6:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
411cfd:	8b 4b 14             	mov    0x14(%ebx),%ecx
411d00:	ff 43 14             	incl   0x14(%ebx)
411d03:	8b 73 08             	mov    0x8(%ebx),%esi
411d06:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
411d09:	51                   	push   %ecx
411d0a:	5e                   	pop    %esi
411d0b:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
411d11:	80 e1 ff             	and    $0xff,%cl
411d14:	88 0e                	mov    %cl,(%esi)
411d16:	8b 4b 14             	mov    0x14(%ebx),%ecx
411d19:	ff 43 14             	incl   0x14(%ebx)
411d1c:	8b 73 08             	mov    0x8(%ebx),%esi
411d1f:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
411d22:	51                   	push   %ecx
411d23:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
411d2a:	5e                   	pop    %esi
411d2b:	c1 f9 08             	sar    $0x8,%ecx
411d2e:	88 0e                	mov    %cl,(%esi)
411d30:	b9 10 00 00 00       	mov    $0x10,%ecx
411d35:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
411d3b:	d3 fa                	sar    %cl,%edx
411d3d:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
411d44:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
411d4a:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
411d50:	eb 1e                	jmp    0x411d70
411d52:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411d58:	ba c0 6a 42 00       	mov    $0x426ac0,%edx
411d5d:	66 8b 12             	mov    (%edx),%dx
411d60:	66 d3 e2             	shl    %cl,%dx
411d63:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
411d6a:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
411d70:	8b c3                	mov    %ebx,%eax
411d72:	e8 29 08 00 00       	call   0x4125a0
411d77:	c7 83 ac 16 00 00 07 	movl   $0x7,0x16ac(%ebx)
411d7e:	00 00 00
411d81:	5f                   	pop    %edi
411d82:	5e                   	pop    %esi
411d83:	5b                   	pop    %ebx
411d84:	c3                   	ret
411d85:	90                   	nop
411d86:	90                   	nop
411d87:	90                   	nop
411d88:	55                   	push   %ebp
411d89:	8b ec                	mov    %esp,%ebp
411d8b:	83 c4 f8             	add    $0xfffffff8,%esp
411d8e:	53                   	push   %ebx
411d8f:	56                   	push   %esi
411d90:	57                   	push   %edi
411d91:	8b d8                	mov    %eax,%ebx
411d93:	89 55 fc             	mov    %edx,-0x4(%ebp)
411d96:	33 c0                	xor    %eax,%eax
411d98:	8b 75 08             	mov    0x8(%ebp),%esi
411d9b:	89 45 f8             	mov    %eax,-0x8(%ebp)
411d9e:	83 7b 7c 00          	cmpl   $0x0,0x7c(%ebx)
411da2:	8b f9                	mov    %ecx,%edi
411da4:	7e 51                	jle    0x411df7
411da6:	80 7b 1c 02          	cmpb   $0x2,0x1c(%ebx)
411daa:	75 07                	jne    0x411db3
411dac:	8b c3                	mov    %ebx,%eax
411dae:	e8 5d 07 00 00       	call   0x412510
411db3:	8d 93 10 0b 00 00    	lea    0xb10(%ebx),%edx
411db9:	8b c3                	mov    %ebx,%eax
411dbb:	e8 48 ef ff ff       	call   0x410d08
411dc0:	8d 93 1c 0b 00 00    	lea    0xb1c(%ebx),%edx
411dc6:	8b c3                	mov    %ebx,%eax
411dc8:	e8 3b ef ff ff       	call   0x410d08
411dcd:	8b c3                	mov    %ebx,%eax
411dcf:	e8 d0 f8 ff ff       	call   0x4116a4
411dd4:	89 45 f8             	mov    %eax,-0x8(%ebp)
411dd7:	8b 83 a0 16 00 00    	mov    0x16a0(%ebx),%eax
411ddd:	8b 93 a4 16 00 00    	mov    0x16a4(%ebx),%edx
411de3:	83 c2 0a             	add    $0xa,%edx
411de6:	83 c0 0a             	add    $0xa,%eax
411de9:	c1 e8 03             	shr    $0x3,%eax
411dec:	c1 ea 03             	shr    $0x3,%edx
411def:	3b c2                	cmp    %edx,%eax
411df1:	72 09                	jb     0x411dfc
411df3:	8b c2                	mov    %edx,%eax
411df5:	eb 05                	jmp    0x411dfc
411df7:	8d 57 05             	lea    0x5(%edi),%edx
411dfa:	8b c2                	mov    %edx,%eax
411dfc:	8d 4f 04             	lea    0x4(%edi),%ecx
411dff:	3b c1                	cmp    %ecx,%eax
411e01:	72 18                	jb     0x411e1b
411e03:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
411e07:	74 12                	je     0x411e1b
411e09:	56                   	push   %esi
411e0a:	8b cf                	mov    %edi,%ecx
411e0c:	8b 55 fc             	mov    -0x4(%ebp),%edx
411e0f:	8b c3                	mov    %ebx,%eax
411e11:	e8 ea fb ff ff       	call   0x411a00
411e16:	e9 8b 01 00 00       	jmp    0x411fa6
411e1b:	3b c2                	cmp    %edx,%eax
411e1d:	0f 85 b6 00 00 00    	jne    0x411ed9
411e23:	b8 03 00 00 00       	mov    $0x3,%eax
411e28:	ba 10 00 00 00       	mov    $0x10,%edx
411e2d:	2b d0                	sub    %eax,%edx
411e2f:	3b 93 b4 16 00 00    	cmp    0x16b4(%ebx),%edx
411e35:	7d 70                	jge    0x411ea7
411e37:	8d 56 02             	lea    0x2(%esi),%edx
411e3a:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411e40:	8b fa                	mov    %edx,%edi
411e42:	83 e8 10             	sub    $0x10,%eax
411e45:	66 d3 e7             	shl    %cl,%di
411e48:	66 09 bb b0 16 00 00 	or     %di,0x16b0(%ebx)
411e4f:	0f b7 d2             	movzwl %dx,%edx
411e52:	8b 4b 14             	mov    0x14(%ebx),%ecx
411e55:	ff 43 14             	incl   0x14(%ebx)
411e58:	8b 7b 08             	mov    0x8(%ebx),%edi
411e5b:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
411e5e:	51                   	push   %ecx
411e5f:	5f                   	pop    %edi
411e60:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
411e66:	80 e1 ff             	and    $0xff,%cl
411e69:	88 0f                	mov    %cl,(%edi)
411e6b:	8b 4b 14             	mov    0x14(%ebx),%ecx
411e6e:	ff 43 14             	incl   0x14(%ebx)
411e71:	8b 7b 08             	mov    0x8(%ebx),%edi
411e74:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
411e77:	51                   	push   %ecx
411e78:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
411e7f:	5f                   	pop    %edi
411e80:	c1 f9 08             	sar    $0x8,%ecx
411e83:	88 0f                	mov    %cl,(%edi)
411e85:	b9 10 00 00 00       	mov    $0x10,%ecx
411e8a:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
411e90:	d3 fa                	sar    %cl,%edx
411e92:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
411e99:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
411e9f:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
411ea5:	eb 1c                	jmp    0x411ec3
411ea7:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411ead:	8b d6                	mov    %esi,%edx
411eaf:	66 83 c2 02          	add    $0x2,%dx
411eb3:	66 d3 e2             	shl    %cl,%dx
411eb6:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
411ebd:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
411ec3:	b9 40 6b 42 00       	mov    $0x426b40,%ecx
411ec8:	ba c0 66 42 00       	mov    $0x4266c0,%edx
411ecd:	8b c3                	mov    %ebx,%eax
411ecf:	e8 7c 01 00 00       	call   0x412050
411ed4:	e9 cd 00 00 00       	jmp    0x411fa6
411ed9:	b8 03 00 00 00       	mov    $0x3,%eax
411ede:	ba 10 00 00 00       	mov    $0x10,%edx
411ee3:	2b d0                	sub    %eax,%edx
411ee5:	3b 93 b4 16 00 00    	cmp    0x16b4(%ebx),%edx
411eeb:	7d 70                	jge    0x411f5d
411eed:	8d 56 04             	lea    0x4(%esi),%edx
411ef0:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
411ef6:	8b fa                	mov    %edx,%edi
411ef8:	83 e8 10             	sub    $0x10,%eax
411efb:	66 d3 e7             	shl    %cl,%di
411efe:	66 09 bb b0 16 00 00 	or     %di,0x16b0(%ebx)
411f05:	0f b7 d2             	movzwl %dx,%edx
411f08:	8b 4b 14             	mov    0x14(%ebx),%ecx
411f0b:	ff 43 14             	incl   0x14(%ebx)