5719e8:	8a 10                	mov    (%eax),%dl
5719ea:	80 fa 01             	cmp    $0x1,%dl
5719ed:	75 22                	jne    0x571a11
5719ef:	8b 40 04             	mov    0x4(%eax),%eax
5719f2:	83 e8 10             	sub    $0x10,%eax
5719f5:	74 08                	je     0x5719ff
5719f7:	48                   	dec    %eax
5719f8:	74 11                	je     0x571a0b
5719fa:	48                   	dec    %eax
5719fb:	74 08                	je     0x571a05
5719fd:	eb 12                	jmp    0x571a11
5719ff:	b8 02 00 00 00       	mov    $0x2,%eax
571a04:	c3                   	ret
571a05:	b8 03 00 00 00       	mov    $0x3,%eax
571a0a:	c3                   	ret
571a0b:	b8 01 00 00 00       	mov    $0x1,%eax
571a10:	c3                   	ret
571a11:	33 c0                	xor    %eax,%eax
571a13:	c3                   	ret
571a14:	2d 59 41 52 47       	sub    $0x47524159,%eax
571a19:	74 1c                	je     0x571a37
571a1b:	2d c7 00 f5 0a       	sub    $0xaf500c7,%eax
571a20:	74 09                	je     0x571a2b
571a22:	2d 52 20 fc 06       	sub    $0x6fc2052,%eax
571a27:	74 08                	je     0x571a31
571a29:	eb 12                	jmp    0x571a3d
571a2b:	b8 02 00 00 00       	mov    $0x2,%eax
571a30:	c3                   	ret
571a31:	b8 03 00 00 00       	mov    $0x3,%eax
571a36:	c3                   	ret
571a37:	b8 01 00 00 00       	mov    $0x1,%eax
571a3c:	c3                   	ret
571a3d:	33 c0                	xor    %eax,%eax
571a3f:	c3                   	ret
571a40:	53                   	push   %ebx
571a41:	83 c4 f4             	add    $0xfffffff4,%esp
571a44:	33 db                	xor    %ebx,%ebx
571a46:	b9 d8 16 6a 00       	mov    $0x6a16d8,%ecx
571a4b:	c7 04 24 dc 10 57 00 	movl   $0x5710dc,(%esp)
571a52:	ba d4 16 6a 00       	mov    $0x6a16d4,%edx
571a57:	c7 44 24 04 24 b1 55 	movl   $0x55b124,0x4(%esp)
571a5e:	00
571a5f:	c7 44 24 08 40 18 57 	movl   $0x571840,0x8(%esp)
571a66:	00
571a67:	68 dc 16 6a 00       	push   $0x6a16dc
571a6c:	8d 44 24 04          	lea    0x4(%esp),%eax
571a70:	50                   	push   %eax
571a71:	8b c3                	mov    %ebx,%eax
571a73:	e8 80 39 00 00       	call   0x5753f8
571a78:	43                   	inc    %ebx
571a79:	c7 04 24 5c fb 55 00 	movl   $0x55fb5c,(%esp)
571a80:	c7 44 24 04 a8 b6 55 	movl   $0x55b6a8,0x4(%esp)
571a87:	00
571a88:	c7 44 24 08 dc 7b 57 	movl   $0x577bdc,0x8(%esp)
571a8f:	00
571a90:	68 17 17 6a 00       	push   $0x6a1717
571a95:	8d 54 24 04          	lea    0x4(%esp),%edx
571a99:	52                   	push   %edx
571a9a:	b9 13 17 6a 00       	mov    $0x6a1713,%ecx
571a9f:	ba 0f 17 6a 00       	mov    $0x6a170f,%edx
571aa4:	8b c3                	mov    %ebx,%eax
571aa6:	e8 4d 39 00 00       	call   0x5753f8
571aab:	33 c0                	xor    %eax,%eax
571aad:	83 c4 0c             	add    $0xc,%esp
571ab0:	5b                   	pop    %ebx
571ab1:	c3                   	ret
571ab2:	8b c0                	mov    %eax,%eax
571ab4:	53                   	push   %ebx
571ab5:	56                   	push   %esi
571ab6:	57                   	push   %edi
571ab7:	8b fa                	mov    %edx,%edi
571ab9:	8b f0                	mov    %eax,%esi
571abb:	85 f6                	test   %esi,%esi
571abd:	7f 17                	jg     0x571ad6
571abf:	68 a1 00 00 00       	push   $0xa1
571ac4:	68 54 17 6a 00       	push   $0x6a1754
571ac9:	68 48 17 6a 00       	push   $0x6a1748
571ace:	e8 6d 90 fe ff       	call   0x55ab40
571ad3:	83 c4 0c             	add    $0xc,%esp
571ad6:	b8 24 00 00 00       	mov    $0x24,%eax
571adb:	e8 9c 68 00 00       	call   0x57837c
571ae0:	8b d8                	mov    %eax,%ebx
571ae2:	85 c0                	test   %eax,%eax
571ae4:	74 3b                	je     0x571b21
571ae6:	89 7b 18             	mov    %edi,0x18(%ebx)
571ae9:	8b fe                	mov    %esi,%edi
571aeb:	89 7b 14             	mov    %edi,0x14(%ebx)
571aee:	8b c7                	mov    %edi,%eax
571af0:	c1 e0 02             	shl    $0x2,%eax
571af3:	e8 84 68 00 00       	call   0x57837c
571af8:	8b f0                	mov    %eax,%esi
571afa:	89 73 10             	mov    %esi,0x10(%ebx)
571afd:	85 f6                	test   %esi,%esi
571aff:	74 20                	je     0x571b21
571b01:	89 73 0c             	mov    %esi,0xc(%ebx)
571b04:	8b 43 18             	mov    0x18(%ebx),%eax
571b07:	85 c0                	test   %eax,%eax
571b09:	74 07                	je     0x571b12
571b0b:	8b c3                	mov    %ebx,%eax
571b0d:	e8 3a 00 00 00       	call   0x571b4c
571b12:	33 c9                	xor    %ecx,%ecx
571b14:	33 d2                	xor    %edx,%edx
571b16:	8b c3                	mov    %ebx,%eax
571b18:	e8 d3 00 00 00       	call   0x571bf0
571b1d:	8b c3                	mov    %ebx,%eax
571b1f:	eb 0d                	jmp    0x571b2e
571b21:	85 db                	test   %ebx,%ebx
571b23:	74 07                	je     0x571b2c
571b25:	8b c3                	mov    %ebx,%eax
571b27:	e8 08 00 00 00       	call   0x571b34
571b2c:	33 c0                	xor    %eax,%eax
571b2e:	5f                   	pop    %edi
571b2f:	5e                   	pop    %esi
571b30:	5b                   	pop    %ebx
571b31:	c3                   	ret
571b32:	90                   	nop
571b33:	90                   	nop
571b34:	53                   	push   %ebx
571b35:	8b d8                	mov    %eax,%ebx
571b37:	8b 43 10             	mov    0x10(%ebx),%eax
571b3a:	85 c0                	test   %eax,%eax
571b3c:	74 05                	je     0x571b43
571b3e:	e8 41 68 00 00       	call   0x578384
571b43:	8b c3                	mov    %ebx,%eax
571b45:	e8 3a 68 00 00       	call   0x578384
571b4a:	5b                   	pop    %ebx
571b4b:	c3                   	ret
571b4c:	53                   	push   %ebx
571b4d:	8b d8                	mov    %eax,%ebx
571b4f:	56                   	push   %esi
571b50:	57                   	push   %edi
571b51:	33 c0                	xor    %eax,%eax
571b53:	55                   	push   %ebp
571b54:	33 d2                	xor    %edx,%edx
571b56:	89 43 20             	mov    %eax,0x20(%ebx)
571b59:	89 13                	mov    %edx,(%ebx)
571b5b:	8b 4b 18             	mov    0x18(%ebx),%ecx
571b5e:	f6 41 08 07          	testb  $0x7,0x8(%ecx)
571b62:	75 4a                	jne    0x571bae
571b64:	8b 7b 18             	mov    0x18(%ebx),%edi
571b67:	8b 6f 40             	mov    0x40(%edi),%ebp
571b6a:	85 ed                	test   %ebp,%ebp
571b6c:	7c 13                	jl     0x571b81
571b6e:	8b 47 3c             	mov    0x3c(%edi),%eax
571b71:	3b e8                	cmp    %eax,%ebp
571b73:	7f 0c                	jg     0x571b81
571b75:	8b 53 18             	mov    0x18(%ebx),%edx
571b78:	83 4a 08 04          	orl    $0x4,0x8(%edx)
571b7c:	83 ce ff             	or     $0xffffffff,%esi
571b7f:	eb 30                	jmp    0x571bb1
571b81:	8b 43 18             	mov    0x18(%ebx),%eax
571b84:	ff 48 1c             	decl   0x1c(%eax)
571b87:	79 11                	jns    0x571b9a
571b89:	ba 01 00 00 00       	mov    $0x1,%edx
571b8e:	8b 43 18             	mov    0x18(%ebx),%eax
571b91:	e8 92 71 00 00       	call   0x578d28
571b96:	8b f0                	mov    %eax,%esi
571b98:	eb 17                	jmp    0x571bb1
571b9a:	8b 43 18             	mov    0x18(%ebx),%eax
571b9d:	ff 40 3c             	incl   0x3c(%eax)
571ba0:	8b 53 18             	mov    0x18(%ebx),%edx
571ba3:	8b 4a 18             	mov    0x18(%edx),%ecx
571ba6:	ff 42 18             	incl   0x18(%edx)
571ba9:	0f b6 31             	movzbl (%ecx),%esi
571bac:	eb 03                	jmp    0x571bb1
571bae:	83 ce ff             	or     $0xffffffff,%esi
571bb1:	83 fe ff             	cmp    $0xffffffff,%esi
571bb4:	75 0c                	jne    0x571bc2
571bb6:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
571bbd:	be ff 00 00 00       	mov    $0xff,%esi
571bc2:	8b c6                	mov    %esi,%eax
571bc4:	33 d2                	xor    %edx,%edx
571bc6:	8a d0                	mov    %al,%dl
571bc8:	88 43 1c             	mov    %al,0x1c(%ebx)
571bcb:	c1 e2 10             	shl    $0x10,%edx
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