571bce:	8b c3                	mov    %ebx,%eax
571bd0:	01 13                	add    %edx,(%ebx)
571bd2:	e8 29 03 00 00       	call   0x571f00
571bd7:	c1 23 07             	shll   $0x7,(%ebx)
571bda:	83 6b 08 07          	subl   $0x7,0x8(%ebx)
571bde:	c7 43 04 00 80 00 00 	movl   $0x8000,0x4(%ebx)
571be5:	5d                   	pop    %ebp
571be6:	5f                   	pop    %edi
571be7:	5e                   	pop    %esi
571be8:	5b                   	pop    %ebx
571be9:	c3                   	ret
571bea:	90                   	nop
571beb:	90                   	nop
571bec:	89 50 18             	mov    %edx,0x18(%eax)
571bef:	c3                   	ret
571bf0:	53                   	push   %ebx
571bf1:	56                   	push   %esi
571bf2:	57                   	push   %edi
571bf3:	8b 58 10             	mov    0x10(%eax),%ebx
571bf6:	8b 70 14             	mov    0x14(%eax),%esi
571bf9:	3b d6                	cmp    %esi,%edx
571bfb:	7e 05                	jle    0x571c02
571bfd:	8b 70 14             	mov    0x14(%eax),%esi
571c00:	eb 20                	jmp    0x571c22
571c02:	8b f2                	mov    %edx,%esi
571c04:	eb 1c                	jmp    0x571c22
571c06:	0f bf 79 04          	movswl 0x4(%ecx),%edi
571c0a:	03 ff                	add    %edi,%edi
571c0c:	03 39                	add    (%ecx),%edi
571c0e:	c1 e7 02             	shl    $0x2,%edi
571c11:	8d 3c 7f             	lea    (%edi,%edi,2),%edi
571c14:	81 c7 f8 17 6a 00    	add    $0x6a17f8,%edi
571c1a:	89 3b                	mov    %edi,(%ebx)
571c1c:	83 c3 04             	add    $0x4,%ebx
571c1f:	83 c1 08             	add    $0x8,%ecx
571c22:	4e                   	dec    %esi
571c23:	79 e1                	jns    0x571c06
571c25:	8b 70 14             	mov    0x14(%eax),%esi
571c28:	2b f2                	sub    %edx,%esi
571c2a:	eb 09                	jmp    0x571c35
571c2c:	c7 03 f8 17 6a 00    	movl   $0x6a17f8,(%ebx)
571c32:	83 c3 04             	add    $0x4,%ebx
571c35:	4e                   	dec    %esi
571c36:	79 f4                	jns    0x571c2c
571c38:	5f                   	pop    %edi
571c39:	5e                   	pop    %esi
571c3a:	5b                   	pop    %ebx
571c3b:	c3                   	ret
571c3c:	c1 e2 02             	shl    $0x2,%edx
571c3f:	8b 40 10             	mov    0x10(%eax),%eax
571c42:	03 c2                	add    %edx,%eax
571c44:	0f bf 51 04          	movswl 0x4(%ecx),%edx
571c48:	8b 09                	mov    (%ecx),%ecx
571c4a:	03 d2                	add    %edx,%edx
571c4c:	03 d1                	add    %ecx,%edx
571c4e:	c1 e2 02             	shl    $0x2,%edx
571c51:	8d 14 52             	lea    (%edx,%edx,2),%edx
571c54:	81 c2 f8 17 6a 00    	add    $0x6a17f8,%edx
571c5a:	89 10                	mov    %edx,(%eax)
571c5c:	c3                   	ret
571c5d:	90                   	nop
571c5e:	90                   	nop
571c5f:	90                   	nop
571c60:	53                   	push   %ebx
571c61:	8b d8                	mov    %eax,%ebx
571c63:	8b 43 0c             	mov    0xc(%ebx),%eax
571c66:	8b 10                	mov    (%eax),%edx
571c68:	0f b7 0a             	movzwl (%edx),%ecx
571c6b:	29 4b 04             	sub    %ecx,0x4(%ebx)
571c6e:	8b 53 0c             	mov    0xc(%ebx),%edx
571c71:	8b 03                	mov    (%ebx),%eax
571c73:	c1 e8 10             	shr    $0x10,%eax
571c76:	8b 0a                	mov    (%edx),%ecx
571c78:	0f b7 11             	movzwl (%ecx),%edx
571c7b:	3b c2                	cmp    %edx,%eax
571c7d:	72 27                	jb     0x571ca6
571c7f:	8b 43 0c             	mov    0xc(%ebx),%eax
571c82:	8b 08                	mov    (%eax),%ecx
571c84:	0f b7 01             	movzwl (%ecx),%eax
571c87:	c1 e0 10             	shl    $0x10,%eax
571c8a:	29 03                	sub    %eax,(%ebx)
571c8c:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
571c90:	74 0b                	je     0x571c9d
571c92:	8b 53 0c             	mov    0xc(%ebx),%edx
571c95:	8b 0a                	mov    (%edx),%ecx
571c97:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
571c9b:	eb 10                	jmp    0x571cad
571c9d:	8b c3                	mov    %ebx,%eax
571c9f:	e8 0c 00 00 00       	call   0x571cb0
571ca4:	eb 07                	jmp    0x571cad
571ca6:	8b c3                	mov    %ebx,%eax
571ca8:	e8 23 01 00 00       	call   0x571dd0
571cad:	5b                   	pop    %ebx
571cae:	c3                   	ret
571caf:	90                   	nop
571cb0:	53                   	push   %ebx
571cb1:	8b d8                	mov    %eax,%ebx
571cb3:	56                   	push   %esi
571cb4:	57                   	push   %edi
571cb5:	55                   	push   %ebp
571cb6:	8b 53 0c             	mov    0xc(%ebx),%edx
571cb9:	8b 73 04             	mov    0x4(%ebx),%esi
571cbc:	8b 0a                	mov    (%edx),%ecx
571cbe:	8b c1                	mov    %ecx,%eax
571cc0:	0f b7 00             	movzwl (%eax),%eax
571cc3:	3b c6                	cmp    %esi,%eax
571cc5:	76 10                	jbe    0x571cd7
571cc7:	8b c1                	mov    %ecx,%eax
571cc9:	0f b7 70 02          	movzwl 0x2(%eax),%esi
571ccd:	83 f6 01             	xor    $0x1,%esi
571cd0:	8b 40 08             	mov    0x8(%eax),%eax
571cd3:	89 02                	mov    %eax,(%edx)
571cd5:	eb 0e                	jmp    0x571ce5
571cd7:	8b 53 0c             	mov    0xc(%ebx),%edx
571cda:	8b 02                	mov    (%edx),%eax
571cdc:	0f b7 70 02          	movzwl 0x2(%eax),%esi
571ce0:	8b 40 04             	mov    0x4(%eax),%eax
571ce3:	89 02                	mov    %eax,(%edx)
571ce5:	8b 53 08             	mov    0x8(%ebx),%edx
571ce8:	85 d2                	test   %edx,%edx
571cea:	0f 85 c4 00 00 00    	jne    0x571db4
571cf0:	8b 4b 20             	mov    0x20(%ebx),%ecx
571cf3:	85 c9                	test   %ecx,%ecx
571cf5:	0f 85 ac 00 00 00    	jne    0x571da7
571cfb:	8b 43 18             	mov    0x18(%ebx),%eax
571cfe:	f6 40 08 07          	testb  $0x7,0x8(%eax)
571d02:	75 50                	jne    0x571d54
571d04:	8b 6b 18             	mov    0x18(%ebx),%ebp
571d07:	8b 45 40             	mov    0x40(%ebp),%eax
571d0a:	85 c0                	test   %eax,%eax
571d0c:	7c 19                	jl     0x571d27
571d0e:	8b 53 18             	mov    0x18(%ebx),%edx
571d11:	8b 4a 40             	mov    0x40(%edx),%ecx
571d14:	8b 45 3c             	mov    0x3c(%ebp),%eax
571d17:	3b c8                	cmp    %eax,%ecx
571d19:	7f 0c                	jg     0x571d27
571d1b:	8b 53 18             	mov    0x18(%ebx),%edx
571d1e:	83 4a 08 04          	orl    $0x4,0x8(%edx)
571d22:	83 cf ff             	or     $0xffffffff,%edi
571d25:	eb 30                	jmp    0x571d57
571d27:	8b 43 18             	mov    0x18(%ebx),%eax
571d2a:	ff 48 1c             	decl   0x1c(%eax)
571d2d:	79 11                	jns    0x571d40
571d2f:	ba 01 00 00 00       	mov    $0x1,%edx
571d34:	8b 43 18             	mov    0x18(%ebx),%eax
571d37:	e8 ec 6f 00 00       	call   0x578d28
571d3c:	8b f8                	mov    %eax,%edi
571d3e:	eb 17                	jmp    0x571d57
571d40:	8b 43 18             	mov    0x18(%ebx),%eax
571d43:	ff 40 3c             	incl   0x3c(%eax)
571d46:	8b 53 18             	mov    0x18(%ebx),%edx
571d49:	8b 4a 18             	mov    0x18(%edx),%ecx
571d4c:	ff 42 18             	incl   0x18(%edx)
571d4f:	0f b6 39             	movzbl (%ecx),%edi
571d52:	eb 03                	jmp    0x571d57
571d54:	83 cf ff             	or     $0xffffffff,%edi
571d57:	83 ff ff             	cmp    $0xffffffff,%edi
571d5a:	75 0c                	jne    0x571d68
571d5c:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
571d63:	bf ff 00 00 00       	mov    $0xff,%edi
571d68:	8a 43 1c             	mov    0x1c(%ebx),%al
571d6b:	8b d7                	mov    %edi,%edx
571d6d:	88 53 1c             	mov    %dl,0x1c(%ebx)
571d70:	3c ff                	cmp    $0xff,%al
571d72:	75 25                	jne    0x571d99
571d74:	81 ff 8f 00 00 00    	cmp    $0x8f,%edi
571d7a:	7e 0f                	jle    0x571d8b
571d7c:	81 03 00 ff 00 00    	addl   $0xff00,(%ebx)
571d82:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571d89:	eb 29                	jmp    0x571db4
571d8b:	c1 e7 09             	shl    $0x9,%edi
571d8e:	01 3b                	add    %edi,(%ebx)
571d90:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
571d97:	eb 1b                	jmp    0x571db4
571d99:	c1 e7 08             	shl    $0x8,%edi
571d9c:	01 3b                	add    %edi,(%ebx)
571d9e:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571da5:	eb 0d                	jmp    0x571db4
571da7:	81 03 00 ff 00 00    	addl   $0xff00,(%ebx)
571dad:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571db4:	d1 63 04             	shll   $1,0x4(%ebx)
571db7:	d1 23                	shll   $1,(%ebx)
571db9:	ff 4b 08             	decl   0x8(%ebx)
571dbc:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
571dc0:	0f 84 1f ff ff ff    	je     0x571ce5
571dc6:	8b c6                	mov    %esi,%eax
571dc8:	5d                   	pop    %ebp
571dc9:	5f                   	pop    %edi
571dca:	5e                   	pop    %esi
571dcb:	5b                   	pop    %ebx
571dcc:	c3                   	ret
571dcd:	90                   	nop
571dce:	90                   	nop
571dcf:	90                   	nop
571dd0:	53                   	push   %ebx
571dd1:	8b d8                	mov    %eax,%ebx
571dd3:	56                   	push   %esi
571dd4:	57                   	push   %edi
571dd5:	55                   	push   %ebp
571dd6:	8b 43 0c             	mov    0xc(%ebx),%eax
571dd9:	8b 10                	mov    (%eax),%edx
571ddb:	8b c2                	mov    %edx,%eax
571ddd:	0f b7 08             	movzwl (%eax),%ecx
571de0:	8b 43 04             	mov    0x4(%ebx),%eax
571de3:	3b c8                	cmp    %eax,%ecx
571de5:	77 19                	ja     0x571e00
571de7:	8b c2                	mov    %edx,%eax
571de9:	0f b7 10             	movzwl (%eax),%edx
571dec:	89 53 04             	mov    %edx,0x4(%ebx)
571def:	0f b7 70 02          	movzwl 0x2(%eax),%esi
571df3:	8b 53 0c             	mov    0xc(%ebx),%edx
571df6:	8b 40 08             	mov    0x8(%eax),%eax
571df9:	83 f6 01             	xor    $0x1,%esi
571dfc:	89 02                	mov    %eax,(%edx)
571dfe:	eb 17                	jmp    0x571e17
571e00:	8b 4b 0c             	mov    0xc(%ebx),%ecx
571e03:	8b 01                	mov    (%ecx),%eax
571e05:	0f b7 10             	movzwl (%eax),%edx
571e08:	89 53 04             	mov    %edx,0x4(%ebx)
571e0b:	0f b7 70 02          	movzwl 0x2(%eax),%esi
571e0f:	8b 53 0c             	mov    0xc(%ebx),%edx
571e12:	8b 40 04             	mov    0x4(%eax),%eax
571e15:	89 02                	mov    %eax,(%edx)
571e17:	8b 4b 08             	mov    0x8(%ebx),%ecx
571e1a:	85 c9                	test   %ecx,%ecx
571e1c:	0f 85 c4 00 00 00    	jne    0x571ee6
571e22:	8b 43 20             	mov    0x20(%ebx),%eax
571e25:	85 c0                	test   %eax,%eax
571e27:	0f 85 ac 00 00 00    	jne    0x571ed9
571e2d:	8b 53 18             	mov    0x18(%ebx),%edx
571e30:	f6 42 08 07          	testb  $0x7,0x8(%edx)
571e34:	75 50                	jne    0x571e86
571e36:	8b 6b 18             	mov    0x18(%ebx),%ebp
571e39:	8b 45 40             	mov    0x40(%ebp),%eax
571e3c:	85 c0                	test   %eax,%eax
571e3e:	7c 19                	jl     0x571e59
571e40:	8b 53 18             	mov    0x18(%ebx),%edx
571e43:	8b 4a 40             	mov    0x40(%edx),%ecx
571e46:	8b 45 3c             	mov    0x3c(%ebp),%eax
571e49:	3b c8                	cmp    %eax,%ecx
571e4b:	7f 0c                	jg     0x571e59
571e4d:	8b 53 18             	mov    0x18(%ebx),%edx
571e50:	83 4a 08 04          	orl    $0x4,0x8(%edx)
571e54:	83 cf ff             	or     $0xffffffff,%edi
571e57:	eb 30                	jmp    0x571e89
571e59:	8b 43 18             	mov    0x18(%ebx),%eax
571e5c:	ff 48 1c             	decl   0x1c(%eax)
571e5f:	79 11                	jns    0x571e72
571e61:	ba 01 00 00 00       	mov    $0x1,%edx
571e66:	8b 43 18             	mov    0x18(%ebx),%eax
571e69:	e8 ba 6e 00 00       	call   0x578d28
571e6e:	8b f8                	mov    %eax,%edi
571e70:	eb 17                	jmp    0x571e89
571e72:	8b 43 18             	mov    0x18(%ebx),%eax
571e75:	ff 40 3c             	incl   0x3c(%eax)
571e78:	8b 53 18             	mov    0x18(%ebx),%edx
571e7b:	8b 4a 18             	mov    0x18(%edx),%ecx
571e7e:	ff 42 18             	incl   0x18(%edx)
571e81:	0f b6 39             	movzbl (%ecx),%edi
571e84:	eb 03                	jmp    0x571e89
571e86:	83 cf ff             	or     $0xffffffff,%edi
571e89:	83 ff ff             	cmp    $0xffffffff,%edi
571e8c:	75 0c                	jne    0x571e9a
571e8e:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
571e95:	bf ff 00 00 00       	mov    $0xff,%edi
571e9a:	8a 43 1c             	mov    0x1c(%ebx),%al
571e9d:	8b d7                	mov    %edi,%edx
571e9f:	88 53 1c             	mov    %dl,0x1c(%ebx)
571ea2:	3c ff                	cmp    $0xff,%al
571ea4:	75 25                	jne    0x571ecb
571ea6:	81 ff 8f 00 00 00    	cmp    $0x8f,%edi
571eac:	7e 0f                	jle    0x571ebd
571eae:	81 03 00 ff 00 00    	addl   $0xff00,(%ebx)
571eb4:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571ebb:	eb 29                	jmp    0x571ee6
571ebd:	c1 e7 09             	shl    $0x9,%edi
571ec0:	01 3b                	add    %edi,(%ebx)
571ec2:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
571ec9:	eb 1b                	jmp    0x571ee6
571ecb:	c1 e7 08             	shl    $0x8,%edi
571ece:	01 3b                	add    %edi,(%ebx)
571ed0:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571ed7:	eb 0d                	jmp    0x571ee6
571ed9:	81 03 00 ff 00 00    	addl   $0xff00,(%ebx)
571edf:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571ee6:	d1 63 04             	shll   $1,0x4(%ebx)
571ee9:	d1 23                	shll   $1,(%ebx)
571eeb:	ff 4b 08             	decl   0x8(%ebx)
571eee:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
571ef2:	0f 84 1f ff ff ff    	je     0x571e17
571ef8:	8b c6                	mov    %esi,%eax
571efa:	5d                   	pop    %ebp
571efb:	5f                   	pop    %edi
571efc:	5e                   	pop    %esi
571efd:	5b                   	pop    %ebx
571efe:	c3                   	ret
571eff:	90                   	nop
571f00:	53                   	push   %ebx
571f01:	8b d8                	mov    %eax,%ebx
571f03:	56                   	push   %esi
571f04:	57                   	push   %edi
571f05:	55                   	push   %ebp
571f06:	8b 43 20             	mov    0x20(%ebx),%eax
571f09:	85 c0                	test   %eax,%eax
571f0b:	0f 85 a6 00 00 00    	jne    0x571fb7
571f11:	8b 53 18             	mov    0x18(%ebx),%edx
571f14:	f6 42 08 07          	testb  $0x7,0x8(%edx)
571f18:	75 4a                	jne    0x571f64
571f1a:	8b 7b 18             	mov    0x18(%ebx),%edi
571f1d:	8b 6f 40             	mov    0x40(%edi),%ebp
571f20:	85 ed                	test   %ebp,%ebp
571f22:	7c 13                	jl     0x571f37
571f24:	8b 47 3c             	mov    0x3c(%edi),%eax
571f27:	3b e8                	cmp    %eax,%ebp
571f29:	7f 0c                	jg     0x571f37
571f2b:	8b 53 18             	mov    0x18(%ebx),%edx
571f2e:	83 4a 08 04          	orl    $0x4,0x8(%edx)
571f32:	83 ce ff             	or     $0xffffffff,%esi
571f35:	eb 30                	jmp    0x571f67
571f37:	8b 43 18             	mov    0x18(%ebx),%eax
571f3a:	ff 48 1c             	decl   0x1c(%eax)
571f3d:	79 11                	jns    0x571f50
571f3f:	ba 01 00 00 00       	mov    $0x1,%edx
571f44:	8b 43 18             	mov    0x18(%ebx),%eax
571f47:	e8 dc 6d 00 00       	call   0x578d28
571f4c:	8b f0                	mov    %eax,%esi
571f4e:	eb 17                	jmp    0x571f67
571f50:	8b 43 18             	mov    0x18(%ebx),%eax
571f53:	ff 40 3c             	incl   0x3c(%eax)
571f56:	8b 53 18             	mov    0x18(%ebx),%edx
571f59:	8b 4a 18             	mov    0x18(%edx),%ecx
571f5c:	ff 42 18             	incl   0x18(%edx)
571f5f:	0f b6 31             	movzbl (%ecx),%esi
571f62:	eb 03                	jmp    0x571f67
571f64:	83 ce ff             	or     $0xffffffff,%esi
571f67:	83 fe ff             	cmp    $0xffffffff,%esi
571f6a:	75 0c                	jne    0x571f78
571f6c:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
571f73:	be ff 00 00 00       	mov    $0xff,%esi
571f78:	8a 43 1c             	mov    0x1c(%ebx),%al
571f7b:	8b d6                	mov    %esi,%edx
571f7d:	88 53 1c             	mov    %dl,0x1c(%ebx)
571f80:	3c ff                	cmp    $0xff,%al
571f82:	75 25                	jne    0x571fa9
571f84:	81 fe 8f 00 00 00    	cmp    $0x8f,%esi
571f8a:	7e 0f                	jle    0x571f9b
571f8c:	81 03 00 ff 00 00    	addl   $0xff00,(%ebx)
571f92:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
571f99:	eb 29                	jmp    0x571fc4
571f9b:	c1 e6 09             	shl    $0x9,%esi