570c4e:	33 ff                	xor    %edi,%edi
570c50:	85 f6                	test   %esi,%esi
570c52:	7e 42                	jle    0x570c96
570c54:	bd 64 25 60 00       	mov    $0x602564,%ebp
570c59:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
570c60:	0f b6 4c 3c 10       	movzbl 0x10(%esp,%edi,1),%ecx
570c65:	83 ff 0e             	cmp    $0xe,%edi
570c68:	b8 5c c0 60 00       	mov    $0x60c05c,%eax
570c6d:	0f 4d c5             	cmovge %ebp,%eax
570c70:	c1 e1 08             	shl    $0x8,%ecx
570c73:	50                   	push   %eax
570c74:	0f b6 44 3c 15       	movzbl 0x15(%esp,%edi,1),%eax
570c79:	0b c8                	or     %eax,%ecx
570c7b:	51                   	push   %ecx
570c7c:	68 b8 99 65 00       	push   $0x6599b8
570c81:	53                   	push   %ebx
570c82:	e8 b9 18 f7 ff       	call   0x4e2540
570c87:	83 c7 02             	add    $0x2,%edi
570c8a:	83 c4 10             	add    $0x10,%esp
570c8d:	3b fe                	cmp    %esi,%edi
570c8f:	7c cf                	jl     0x570c60
570c91:	83 ff 10             	cmp    $0x10,%edi
570c94:	7d 0e                	jge    0x570ca4
570c96:	68 5c c0 60 00       	push   $0x60c05c
570c9b:	53                   	push   %ebx
570c9c:	e8 2f 86 f8 ff       	call   0x4f92d0
570ca1:	83 c4 08             	add    $0x8,%esp
570ca4:	85 ff                	test   %edi,%edi
570ca6:	75 62                	jne    0x570d0a
570ca8:	68 5c c0 60 00       	push   $0x60c05c
570cad:	53                   	push   %ebx
570cae:	e8 1d 86 f8 ff       	call   0x4f92d0
570cb3:	83 c4 08             	add    $0x8,%esp
570cb6:	8d 47 01             	lea    0x1(%edi),%eax
570cb9:	5f                   	pop    %edi
570cba:	5e                   	pop    %esi
570cbb:	5d                   	pop    %ebp
570cbc:	5b                   	pop    %ebx
570cbd:	8b 4c 24 10          	mov    0x10(%esp),%ecx
570cc1:	33 cc                	xor    %esp,%ecx
570cc3:	e8 5e 0d 06 00       	call   0x5d1a26
570cc8:	83 c4 14             	add    $0x14,%esp
570ccb:	c3                   	ret
570ccc:	ff 74 24 30          	push   0x30(%esp)
570cd0:	8d 44 24 14          	lea    0x14(%esp),%eax
570cd4:	6a 04                	push   $0x4
570cd6:	57                   	push   %edi
570cd7:	50                   	push   %eax
570cd8:	e8 d3 f9 ff ff       	call   0x5706b0
570cdd:	83 c4 10             	add    $0x10,%esp
570ce0:	85 c0                	test   %eax,%eax
570ce2:	74 3e                	je     0x570d22
570ce4:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
570ce9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
570ced:	50                   	push   %eax
570cee:	0f b6 44 24 16       	movzbl 0x16(%esp),%eax
570cf3:	50                   	push   %eax
570cf4:	0f b6 c5             	movzbl %ch,%eax
570cf7:	50                   	push   %eax
570cf8:	0f b6 c1             	movzbl %cl,%eax
570cfb:	50                   	push   %eax
570cfc:	68 9c 5d 60 00       	push   $0x605d9c
570d01:	53                   	push   %ebx
570d02:	e8 39 18 f7 ff       	call   0x4e2540
570d07:	83 c4 18             	add    $0x18,%esp
570d0a:	5f                   	pop    %edi
570d0b:	5e                   	pop    %esi
570d0c:	5d                   	pop    %ebp
570d0d:	b8 01 00 00 00       	mov    $0x1,%eax
570d12:	5b                   	pop    %ebx
570d13:	8b 4c 24 10          	mov    0x10(%esp),%ecx
570d17:	33 cc                	xor    %esp,%ecx
570d19:	e8 08 0d 06 00       	call   0x5d1a26
570d1e:	83 c4 14             	add    $0x14,%esp
570d21:	c3                   	ret
570d22:	8b 4c 24 20          	mov    0x20(%esp),%ecx
570d26:	33 c0                	xor    %eax,%eax
570d28:	5f                   	pop    %edi
570d29:	5e                   	pop    %esi
570d2a:	5d                   	pop    %ebp
570d2b:	5b                   	pop    %ebx
570d2c:	33 cc                	xor    %esp,%ecx
570d2e:	e8 f3 0c 06 00       	call   0x5d1a26
570d33:	83 c4 14             	add    $0x14,%esp
570d36:	c3                   	ret
570d37:	cc                   	int3
570d38:	cc                   	int3
570d39:	cc                   	int3
570d3a:	cc                   	int3
570d3b:	cc                   	int3
570d3c:	cc                   	int3
570d3d:	cc                   	int3
570d3e:	cc                   	int3
570d3f:	cc                   	int3
570d40:	8b 4c 24 08          	mov    0x8(%esp),%ecx
570d44:	8b c1                	mov    %ecx,%eax
570d46:	c1 e8 08             	shr    $0x8,%eax
570d49:	88 4c 24 09          	mov    %cl,0x9(%esp)
570d4d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
570d51:	88 44 24 08          	mov    %al,0x8(%esp)
570d55:	85 c9                	test   %ecx,%ecx
570d57:	74 06                	je     0x570d5f
570d59:	8a 01                	mov    (%ecx),%al
570d5b:	88 44 24 0a          	mov    %al,0xa(%esp)
570d5f:	53                   	push   %ebx
570d60:	55                   	push   %ebp
570d61:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
570d65:	33 db                	xor    %ebx,%ebx
570d67:	56                   	push   %esi
570d68:	85 c9                	test   %ecx,%ecx
570d6a:	57                   	push   %edi
570d6b:	0f 95 c3             	setne  %bl
570d6e:	33 ff                	xor    %edi,%edi
570d70:	55                   	push   %ebp
570d71:	83 c3 02             	add    $0x2,%ebx
570d74:	e8 47 43 f7 ff       	call   0x4e50c0
570d79:	83 c4 04             	add    $0x4,%esp
570d7c:	85 c0                	test   %eax,%eax
570d7e:	7e 7f                	jle    0x570dff
570d80:	57                   	push   %edi
570d81:	55                   	push   %ebp
570d82:	e8 f9 44 f7 ff       	call   0x4e5280
570d87:	83 c4 08             	add    $0x8,%esp
570d8a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
570d8e:	8b 08                	mov    (%eax),%ecx
570d90:	39 19                	cmp    %ebx,(%ecx)
570d92:	75 5d                	jne    0x570df1
570d94:	8b 49 08             	mov    0x8(%ecx),%ecx
570d97:	8d 54 24 18          	lea    0x18(%esp),%edx
570d9b:	8b f3                	mov    %ebx,%esi
570d9d:	83 ee 04             	sub    $0x4,%esi
570da0:	72 11                	jb     0x570db3
570da2:	8b 01                	mov    (%ecx),%eax
570da4:	3b 02                	cmp    (%edx),%eax
570da6:	75 14                	jne    0x570dbc
570da8:	83 c1 04             	add    $0x4,%ecx
570dab:	83 c2 04             	add    $0x4,%edx
570dae:	83 ee 04             	sub    $0x4,%esi
570db1:	73 ef                	jae    0x570da2
570db3:	83 fe fc             	cmp    $0xfffffffc,%esi
570db6:	0f 84 a9 00 00 00    	je     0x570e65
570dbc:	8a 01                	mov    (%ecx),%al
570dbe:	3a 02                	cmp    (%edx),%al
570dc0:	75 2f                	jne    0x570df1
570dc2:	83 fe fd             	cmp    $0xfffffffd,%esi
570dc5:	0f 84 9a 00 00 00    	je     0x570e65
570dcb:	8a 41 01             	mov    0x1(%ecx),%al
570dce:	3a 42 01             	cmp    0x1(%edx),%al
570dd1:	75 1e                	jne    0x570df1
570dd3:	83 fe fe             	cmp    $0xfffffffe,%esi
570dd6:	0f 84 89 00 00 00    	je     0x570e65
570ddc:	8a 41 02             	mov    0x2(%ecx),%al
570ddf:	3a 42 02             	cmp    0x2(%edx),%al
570de2:	75 0d                	jne    0x570df1
570de4:	83 fe ff             	cmp    $0xffffffff,%esi
570de7:	74 7c                	je     0x570e65
570de9:	8a 41 03             	mov    0x3(%ecx),%al
570dec:	3a 42 03             	cmp    0x3(%edx),%al
570def:	74 74                	je     0x570e65
570df1:	55                   	push   %ebp
570df2:	47                   	inc    %edi
570df3:	e8 c8 42 f7 ff       	call   0x4e50c0
570df8:	83 c4 04             	add    $0x4,%esp
570dfb:	3b f8                	cmp    %eax,%edi
570dfd:	7c 81                	jl     0x570d80
570dff:	68 9c 98 65 00       	push   $0x65989c
570e04:	e8 07 af f7 ff       	call   0x4ebd10
570e09:	8b f0                	mov    %eax,%esi
570e0b:	83 c4 04             	add    $0x4,%esp
570e0e:	85 f6                	test   %esi,%esi
570e10:	74 5c                	je     0x570e6e
570e12:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
570e16:	75 14                	jne    0x570e2c
570e18:	68 58 98 65 00       	push   $0x659858
570e1d:	e8 ee ae f7 ff       	call   0x4ebd10
570e22:	83 c4 04             	add    $0x4,%esp
570e25:	89 46 04             	mov    %eax,0x4(%esi)
570e28:	85 c0                	test   %eax,%eax
570e2a:	74 42                	je     0x570e6e
570e2c:	8b 06                	mov    (%esi),%eax
570e2e:	85 c0                	test   %eax,%eax
570e30:	75 0b                	jne    0x570e3d
570e32:	e8 59 aa f7 ff       	call   0x4eb890
570e37:	89 06                	mov    %eax,(%esi)
570e39:	85 c0                	test   %eax,%eax
570e3b:	74 31                	je     0x570e6e
570e3d:	53                   	push   %ebx
570e3e:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
570e42:	51                   	push   %ecx
570e43:	50                   	push   %eax
570e44:	e8 d7 aa f9 ff       	call   0x50b920
570e49:	83 c4 0c             	add    $0xc,%esp
570e4c:	85 c0                	test   %eax,%eax
570e4e:	74 1e                	je     0x570e6e
570e50:	56                   	push   %esi
570e51:	55                   	push   %ebp
570e52:	e8 f9 42 f7 ff       	call   0x4e5150
570e57:	83 c4 08             	add    $0x8,%esp
570e5a:	85 c0                	test   %eax,%eax
570e5c:	74 10                	je     0x570e6e
570e5e:	5f                   	pop    %edi
570e5f:	8b c6                	mov    %esi,%eax
570e61:	5e                   	pop    %esi
570e62:	5d                   	pop    %ebp
570e63:	5b                   	pop    %ebx
570e64:	c3                   	ret
570e65:	8b 44 24 1c          	mov    0x1c(%esp),%eax
570e69:	5f                   	pop    %edi
570e6a:	5e                   	pop    %esi
570e6b:	5d                   	pop    %ebp
570e6c:	5b                   	pop    %ebx
570e6d:	c3                   	ret
570e6e:	68 9c 98 65 00       	push   $0x65989c
570e73:	56                   	push   %esi
570e74:	e8 47 b4 f7 ff       	call   0x4ec2c0
570e79:	83 c4 08             	add    $0x8,%esp
570e7c:	33 c0                	xor    %eax,%eax
570e7e:	5f                   	pop    %edi
570e7f:	5e                   	pop    %esi
570e80:	5d                   	pop    %ebp
570e81:	5b                   	pop    %ebx
570e82:	c3                   	ret
570e83:	cc                   	int3
570e84:	cc                   	int3
570e85:	cc                   	int3
570e86:	cc                   	int3
570e87:	cc                   	int3
570e88:	cc                   	int3
570e89:	cc                   	int3
570e8a:	cc                   	int3
570e8b:	cc                   	int3
570e8c:	cc                   	int3
570e8d:	cc                   	int3
570e8e:	cc                   	int3
570e8f:	cc                   	int3
570e90:	53                   	push   %ebx
570e91:	56                   	push   %esi
570e92:	57                   	push   %edi
570e93:	8b 7c 24 18          	mov    0x18(%esp),%edi
570e97:	8d 47 07             	lea    0x7(%edi),%eax
570e9a:	99                   	cltd
570e9b:	83 e2 07             	and    $0x7,%edx
570e9e:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
570ea1:	c1 fb 03             	sar    $0x3,%ebx
570ea4:	81 e7 07 00 00 80    	and    $0x80000007,%edi
570eaa:	79 05                	jns    0x570eb1
570eac:	4f                   	dec    %edi
570ead:	83 cf f8             	or     $0xfffffff8,%edi
570eb0:	47                   	inc    %edi
570eb1:	68 14 98 65 00       	push   $0x659814
570eb6:	e8 55 ae f7 ff       	call   0x4ebd10
570ebb:	8b f0                	mov    %eax,%esi
570ebd:	83 c4 04             	add    $0x4,%esp
570ec0:	85 f6                	test   %esi,%esi
570ec2:	74 39                	je     0x570efd
570ec4:	8b 46 04             	mov    0x4(%esi),%eax
570ec7:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
570ecd:	85 c0                	test   %eax,%eax
570ecf:	75 0c                	jne    0x570edd
570ed1:	e8 ca a8 f7 ff       	call   0x4eb7a0
570ed6:	89 46 04             	mov    %eax,0x4(%esi)
570ed9:	85 c0                	test   %eax,%eax
570edb:	74 12                	je     0x570eef
570edd:	53                   	push   %ebx
570ede:	ff 74 24 18          	push   0x18(%esp)
570ee2:	50                   	push   %eax
570ee3:	e8 38 aa f9 ff       	call   0x50b920
570ee8:	83 c4 0c             	add    $0xc,%esp
570eeb:	85 c0                	test   %eax,%eax
570eed:	75 14                	jne    0x570f03
570eef:	68 14 98 65 00       	push   $0x659814
570ef4:	56                   	push   %esi
570ef5:	e8 c6 b3 f7 ff       	call   0x4ec2c0
570efa:	83 c4 08             	add    $0x8,%esp
570efd:	5f                   	pop    %edi
570efe:	5e                   	pop    %esi
570eff:	33 c0                	xor    %eax,%eax
570f01:	5b                   	pop    %ebx
570f02:	c3                   	ret
570f03:	8b 46 04             	mov    0x4(%esi),%eax
570f06:	83 60 0c f8          	andl   $0xfffffff8,0xc(%eax)
570f0a:	8b 46 04             	mov    0x4(%esi),%eax
570f0d:	83 48 0c 08          	orl    $0x8,0xc(%eax)
570f11:	85 ff                	test   %edi,%edi
570f13:	7e 22                	jle    0x570f37
570f15:	8b 46 04             	mov    0x4(%esi),%eax
570f18:	8b cf                	mov    %edi,%ecx
570f1a:	8b 50 08             	mov    0x8(%eax),%edx
570f1d:	b8 ff 00 00 00       	mov    $0xff,%eax
570f22:	d3 f8                	sar    %cl,%eax
570f24:	f6 d0                	not    %al
570f26:	20 44 1a ff          	and    %al,-0x1(%edx,%ebx,1)
570f2a:	b8 08 00 00 00       	mov    $0x8,%eax
570f2f:	8b 4e 04             	mov    0x4(%esi),%ecx
570f32:	2b c7                	sub    %edi,%eax
570f34:	09 41 0c             	or     %eax,0xc(%ecx)
570f37:	8b 44 24 10          	mov    0x10(%esp),%eax
570f3b:	5f                   	pop    %edi
570f3c:	89 30                	mov    %esi,(%eax)
570f3e:	b8 01 00 00 00       	mov    $0x1,%eax
570f43:	5e                   	pop    %esi
570f44:	5b                   	pop    %ebx
570f45:	c3                   	ret
570f46:	cc                   	int3
570f47:	cc                   	int3
570f48:	cc                   	int3
570f49:	cc                   	int3
570f4a:	cc                   	int3
570f4b:	cc                   	int3
570f4c:	cc                   	int3
570f4d:	cc                   	int3
570f4e:	cc                   	int3
570f4f:	cc                   	int3
570f50:	b8 04 00 00 00       	mov    $0x4,%eax
570f55:	e8 56 08 06 00       	call   0x5d17b0
570f5a:	55                   	push   %ebp
570f5b:	8b 6c 24 10          	mov    0x10(%esp),%ebp
570f5f:	56                   	push   %esi
570f60:	8b 74 24 1c          	mov    0x1c(%esp),%esi
570f64:	56                   	push   %esi
570f65:	ff 74 24 1c          	push   0x1c(%esp)
570f69:	55                   	push   %ebp
570f6a:	e8 41 02 00 00       	call   0x5711b0
570f6f:	83 c4 0c             	add    $0xc,%esp
570f72:	85 c0                	test   %eax,%eax
570f74:	78 12                	js     0x570f88
570f76:	50                   	push   %eax
570f77:	55                   	push   %ebp
570f78:	ff 74 24 18          	push   0x18(%esp)
570f7c:	e8 0f ff ff ff       	call   0x570e90
570f81:	83 c4 0c             	add    $0xc,%esp
570f84:	5e                   	pop    %esi
570f85:	5d                   	pop    %ebp
570f86:	59                   	pop    %ecx
570f87:	c3                   	ret
570f88:	53                   	push   %ebx
570f89:	68 14 98 65 00       	push   $0x659814
570f8e:	e8 7d ad f7 ff       	call   0x4ebd10
570f93:	8b d8                	mov    %eax,%ebx
570f95:	83 c4 04             	add    $0x4,%esp
570f98:	85 db                	test   %ebx,%ebx
570f9a:	75 05                	jne    0x570fa1
570f9c:	5b                   	pop    %ebx
570f9d:	5e                   	pop    %esi
570f9e:	5d                   	pop    %ebp
570f9f:	59                   	pop    %ecx
570fa0:	c3                   	ret
570fa1:	57                   	push   %edi
570fa2:	68 d0 97 65 00       	push   $0x6597d0
570fa7:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)