524bd2:	3b c8                	cmp    %eax,%ecx
524bd4:	76 2f                	jbe    0x524c05
524bd6:	51                   	push   %ecx
524bd7:	e8 a1 5d f0 ff       	call   0x42a97d
524bdc:	8b c8                	mov    %eax,%ecx
524bde:	83 c4 04             	add    $0x4,%esp
524be1:	85 c9                	test   %ecx,%ecx
524be3:	74 25                	je     0x524c0a
524be5:	8d 41 23             	lea    0x23(%ecx),%eax
524be8:	83 e0 e0             	and    $0xffffffe0,%eax
524beb:	89 48 fc             	mov    %ecx,-0x4(%eax)
524bee:	c2 04 00             	ret    $0x4
524bf1:	50                   	push   %eax
524bf2:	e8 86 5d f0 ff       	call   0x42a97d
524bf7:	83 c4 04             	add    $0x4,%esp
524bfa:	85 c0                	test   %eax,%eax
524bfc:	75 ba                	jne    0x524bb8
524bfe:	eb 0f                	jmp    0x524c0f
524c00:	e8 19 d3 ed ff       	call   0x401f1e
524c05:	e8 14 d3 ed ff       	call   0x401f1e
524c0a:	e8 7e 8d f1 ff       	call   0x43d98d
524c0f:	e8 79 8d f1 ff       	call   0x43d98d
524c14:	cc                   	int3
524c15:	cc                   	int3
524c16:	cc                   	int3
524c17:	cc                   	int3
524c18:	cc                   	int3
524c19:	cc                   	int3
524c1a:	cc                   	int3
524c1b:	cc                   	int3
524c1c:	cc                   	int3
524c1d:	cc                   	int3
524c1e:	cc                   	int3
524c1f:	cc                   	int3
524c20:	cc                   	int3
524c21:	cc                   	int3
524c22:	cc                   	int3
524c23:	cc                   	int3
524c24:	cc                   	int3
524c25:	cc                   	int3
524c26:	cc                   	int3
524c27:	cc                   	int3
524c28:	cc                   	int3
524c29:	cc                   	int3
524c2a:	cc                   	int3
524c2b:	cc                   	int3
524c2c:	cc                   	int3
524c2d:	cc                   	int3
524c2e:	cc                   	int3
524c2f:	cc                   	int3
524c30:	8b 44 24 04          	mov    0x4(%esp),%eax
524c34:	85 c0                	test   %eax,%eax
524c36:	75 03                	jne    0x524c3b
524c38:	c2 04 00             	ret    $0x4
524c3b:	3d 1a 1f 99 00       	cmp    $0x991f1a,%eax
524c40:	77 3e                	ja     0x524c80
524c42:	69 c0 ac 01 00 00    	imul   $0x1ac,%eax,%eax
524c48:	3d 00 10 00 00       	cmp    $0x1000,%eax
524c4d:	72 22                	jb     0x524c71
524c4f:	8d 48 23             	lea    0x23(%eax),%ecx
524c52:	3b c8                	cmp    %eax,%ecx
524c54:	76 2f                	jbe    0x524c85
524c56:	51                   	push   %ecx
524c57:	e8 21 5d f0 ff       	call   0x42a97d
524c5c:	8b c8                	mov    %eax,%ecx
524c5e:	83 c4 04             	add    $0x4,%esp
524c61:	85 c9                	test   %ecx,%ecx
524c63:	74 25                	je     0x524c8a
524c65:	8d 41 23             	lea    0x23(%ecx),%eax
524c68:	83 e0 e0             	and    $0xffffffe0,%eax
524c6b:	89 48 fc             	mov    %ecx,-0x4(%eax)
524c6e:	c2 04 00             	ret    $0x4
524c71:	50                   	push   %eax
524c72:	e8 06 5d f0 ff       	call   0x42a97d
524c77:	83 c4 04             	add    $0x4,%esp
524c7a:	85 c0                	test   %eax,%eax
524c7c:	75 ba                	jne    0x524c38
524c7e:	eb 0f                	jmp    0x524c8f
524c80:	e8 99 d2 ed ff       	call   0x401f1e
524c85:	e8 94 d2 ed ff       	call   0x401f1e
524c8a:	e8 fe 8c f1 ff       	call   0x43d98d
524c8f:	e8 f9 8c f1 ff       	call   0x43d98d
524c94:	cc                   	int3
524c95:	cc                   	int3
524c96:	cc                   	int3
524c97:	cc                   	int3
524c98:	cc                   	int3
524c99:	cc                   	int3
524c9a:	cc                   	int3
524c9b:	cc                   	int3
524c9c:	cc                   	int3
524c9d:	cc                   	int3
524c9e:	cc                   	int3
524c9f:	cc                   	int3
524ca0:	cc                   	int3
524ca1:	cc                   	int3
524ca2:	cc                   	int3
524ca3:	cc                   	int3
524ca4:	cc                   	int3
524ca5:	cc                   	int3
524ca6:	cc                   	int3
524ca7:	cc                   	int3
524ca8:	cc                   	int3
524ca9:	cc                   	int3
524caa:	cc                   	int3
524cab:	cc                   	int3
524cac:	cc                   	int3
524cad:	cc                   	int3
524cae:	cc                   	int3
524caf:	cc                   	int3
524cb0:	8b 44 24 04          	mov    0x4(%esp),%eax
524cb4:	8b 09                	mov    (%ecx),%ecx
524cb6:	89 08                	mov    %ecx,(%eax)
524cb8:	c2 04 00             	ret    $0x4
524cbb:	cc                   	int3
524cbc:	cc                   	int3
524cbd:	cc                   	int3
524cbe:	cc                   	int3
524cbf:	cc                   	int3
524cc0:	56                   	push   %esi
524cc1:	8b 71 08             	mov    0x8(%ecx),%esi
524cc4:	b8 d3 20 0d d2       	mov    $0xd20d20d3,%eax
524cc9:	2b 31                	sub    (%ecx),%esi
524ccb:	f7 ee                	imul   %esi
524ccd:	03 d6                	add    %esi,%edx
524ccf:	c1 fa 07             	sar    $0x7,%edx
524cd2:	8b c2                	mov    %edx,%eax
524cd4:	c1 e8 1f             	shr    $0x1f,%eax
524cd7:	03 c2                	add    %edx,%eax
524cd9:	5e                   	pop    %esi
524cda:	c3                   	ret
524cdb:	cc                   	int3
524cdc:	cc                   	int3
524cdd:	cc                   	int3
524cde:	cc                   	int3
524cdf:	cc                   	int3
524ce0:	cc                   	int3
524ce1:	cc                   	int3
524ce2:	cc                   	int3
524ce3:	cc                   	int3
524ce4:	cc                   	int3
524ce5:	cc                   	int3
524ce6:	cc                   	int3
524ce7:	cc                   	int3
524ce8:	cc                   	int3
524ce9:	cc                   	int3
524cea:	cc                   	int3
524ceb:	cc                   	int3
524cec:	cc                   	int3
524ced:	cc                   	int3
524cee:	cc                   	int3
524cef:	cc                   	int3
524cf0:	8b 51 08             	mov    0x8(%ecx),%edx
524cf3:	b8 29 8d 8f 4c       	mov    $0x4c8f8d29,%eax
524cf8:	2b 11                	sub    (%ecx),%edx
524cfa:	f7 ea                	imul   %edx
524cfc:	c1 fa 07             	sar    $0x7,%edx
524cff:	8b c2                	mov    %edx,%eax
524d01:	c1 e8 1f             	shr    $0x1f,%eax
524d04:	03 c2                	add    %edx,%eax
524d06:	c3                   	ret
524d07:	cc                   	int3
524d08:	cc                   	int3
524d09:	cc                   	int3
524d0a:	cc                   	int3
524d0b:	cc                   	int3
524d0c:	cc                   	int3
524d0d:	cc                   	int3
524d0e:	cc                   	int3
524d0f:	cc                   	int3
524d10:	e9 2f a1 ee ff       	jmp    0x40ee44
524d15:	cc                   	int3
524d16:	cc                   	int3
524d17:	cc                   	int3
524d18:	cc                   	int3
524d19:	cc                   	int3
524d1a:	cc                   	int3
524d1b:	cc                   	int3
524d1c:	cc                   	int3
524d1d:	cc                   	int3
524d1e:	cc                   	int3
524d1f:	cc                   	int3
524d20:	8b 44 24 08          	mov    0x8(%esp),%eax
524d24:	8b 4c 24 04          	mov    0x4(%esp),%ecx
524d28:	3d 41 1a a4 01       	cmp    $0x1a41a41,%eax
524d2d:	77 31                	ja     0x524d60
524d2f:	69 c0 9c 00 00 00    	imul   $0x9c,%eax,%eax
524d35:	3d 00 10 00 00       	cmp    $0x1000,%eax
524d3a:	72 1a                	jb     0x524d56
524d3c:	f6 c1 1f             	test   $0x1f,%cl
524d3f:	75 24                	jne    0x524d65
524d41:	8b 41 fc             	mov    -0x4(%ecx),%eax
524d44:	3b c1                	cmp    %ecx,%eax
524d46:	73 22                	jae    0x524d6a
524d48:	2b c8                	sub    %eax,%ecx
524d4a:	83 f9 04             	cmp    $0x4,%ecx
524d4d:	72 20                	jb     0x524d6f
524d4f:	83 f9 23             	cmp    $0x23,%ecx
524d52:	77 20                	ja     0x524d74
524d54:	8b c8                	mov    %eax,%ecx
524d56:	51                   	push   %ecx
524d57:	e8 33 ca ed ff       	call   0x40178f
524d5c:	59                   	pop    %ecx
524d5d:	c2 08 00             	ret    $0x8
524d60:	e8 28 8c f1 ff       	call   0x43d98d
524d65:	e8 23 8c f1 ff       	call   0x43d98d
524d6a:	e8 1e 8c f1 ff       	call   0x43d98d
524d6f:	e8 19 8c f1 ff       	call   0x43d98d
524d74:	e8 14 8c f1 ff       	call   0x43d98d
524d79:	cc                   	int3
524d7a:	cc                   	int3
524d7b:	cc                   	int3
524d7c:	cc                   	int3
524d7d:	cc                   	int3
524d7e:	cc                   	int3
524d7f:	cc                   	int3
524d80:	cc                   	int3
524d81:	cc                   	int3
524d82:	cc                   	int3
524d83:	cc                   	int3
524d84:	cc                   	int3
524d85:	cc                   	int3
524d86:	cc                   	int3
524d87:	cc                   	int3
524d88:	cc                   	int3
524d89:	cc                   	int3
524d8a:	cc                   	int3
524d8b:	cc                   	int3
524d8c:	cc                   	int3
524d8d:	cc                   	int3
524d8e:	cc                   	int3
524d8f:	cc                   	int3
524d90:	8b 01                	mov    (%ecx),%eax
524d92:	3b 41 04             	cmp    0x4(%ecx),%eax
524d95:	0f 94 c0             	sete   %al
524d98:	c3                   	ret
524d99:	cc                   	int3
524d9a:	cc                   	int3
524d9b:	cc                   	int3
524d9c:	cc                   	int3
524d9d:	cc                   	int3
524d9e:	cc                   	int3
524d9f:	cc                   	int3
524da0:	8b 44 24 04          	mov    0x4(%esp),%eax
524da4:	8b 49 04             	mov    0x4(%ecx),%ecx
524da7:	89 08                	mov    %ecx,(%eax)
524da9:	c2 04 00             	ret    $0x4
524dac:	cc                   	int3
524dad:	cc                   	int3
524dae:	cc                   	int3
524daf:	cc                   	int3
524db0:	ff 74 24 0c          	push   0xc(%esp)
524db4:	6a 01                	push   $0x1
524db6:	ff 74 24 10          	push   0x10(%esp)
524dba:	ff 74 24 10          	push   0x10(%esp)
524dbe:	e8 5b 19 f1 ff       	call   0x43671e
524dc3:	8b 44 24 04          	mov    0x4(%esp),%eax
524dc7:	c2 0c 00             	ret    $0xc
524dca:	cc                   	int3
524dcb:	cc                   	int3
524dcc:	cc                   	int3
524dcd:	cc                   	int3
524dce:	cc                   	int3
524dcf:	cc                   	int3
524dd0:	b8 41 1a a4 01       	mov    $0x1a41a41,%eax
524dd5:	c2 04 00             	ret    $0x4
524dd8:	cc                   	int3
524dd9:	cc                   	int3
524dda:	cc                   	int3
524ddb:	cc                   	int3
524ddc:	cc                   	int3
524ddd:	cc                   	int3
524dde:	cc                   	int3
524ddf:	cc                   	int3
524de0:	b8 1a 1f 99 00       	mov    $0x991f1a,%eax
524de5:	c2 04 00             	ret    $0x4
524de8:	cc                   	int3
524de9:	cc                   	int3
524dea:	cc                   	int3
524deb:	cc                   	int3
524dec:	cc                   	int3
524ded:	cc                   	int3
524dee:	cc                   	int3
524def:	cc                   	int3
524df0:	b8 41 1a a4 01       	mov    $0x1a41a41,%eax
524df5:	c3                   	ret
524df6:	cc                   	int3
524df7:	cc                   	int3
524df8:	cc                   	int3
524df9:	cc                   	int3
524dfa:	cc                   	int3
524dfb:	cc                   	int3
524dfc:	cc                   	int3
524dfd:	cc                   	int3
524dfe:	cc                   	int3
524dff:	cc                   	int3
524e00:	b8 1a 1f 99 00       	mov    $0x991f1a,%eax
524e05:	c3                   	ret
524e06:	cc                   	int3
524e07:	cc                   	int3
524e08:	cc                   	int3
524e09:	cc                   	int3
524e0a:	cc                   	int3
524e0b:	cc                   	int3
524e0c:	cc                   	int3
524e0d:	cc                   	int3
524e0e:	cc                   	int3
524e0f:	cc                   	int3
524e10:	b8 41 1a a4 01       	mov    $0x1a41a41,%eax
524e15:	c3                   	ret
524e16:	cc                   	int3
524e17:	cc                   	int3
524e18:	cc                   	int3
524e19:	cc                   	int3
524e1a:	cc                   	int3
524e1b:	cc                   	int3
524e1c:	cc                   	int3
524e1d:	cc                   	int3
524e1e:	cc                   	int3
524e1f:	cc                   	int3
524e20:	b8 1a 1f 99 00       	mov    $0x991f1a,%eax
524e25:	c3                   	ret
524e26:	cc                   	int3
524e27:	cc                   	int3
524e28:	cc                   	int3
524e29:	cc                   	int3
524e2a:	cc                   	int3
524e2b:	cc                   	int3
524e2c:	cc                   	int3
524e2d:	cc                   	int3
524e2e:	cc                   	int3
524e2f:	cc                   	int3
524e30:	b8 41 1a a4 01       	mov    $0x1a41a41,%eax
524e35:	c3                   	ret
524e36:	cc                   	int3
524e37:	cc                   	int3
524e38:	cc                   	int3
524e39:	cc                   	int3
524e3a:	cc                   	int3
524e3b:	cc                   	int3
524e3c:	cc                   	int3
524e3d:	cc                   	int3
524e3e:	cc                   	int3
524e3f:	cc                   	int3
524e40:	b8 1a 1f 99 00       	mov    $0x991f1a,%eax
524e45:	c3                   	ret
524e46:	cc                   	int3
524e47:	cc                   	int3
524e48:	cc                   	int3
524e49:	cc                   	int3