571841:	56                   	push   %esi
571842:	57                   	push   %edi
571843:	55                   	push   %ebp
571844:	83 c4 f0             	add    $0xfffffff0,%esp
571847:	8b f8                	mov    %eax,%edi
571849:	8b d4                	mov    %esp,%edx
57184b:	b9 10 00 00 00       	mov    $0x10,%ecx
571850:	8b c7                	mov    %edi,%eax
571852:	e8 29 70 00 00       	call   0x578880
571857:	8b e8                	mov    %eax,%ebp
571859:	85 c0                	test   %eax,%eax
57185b:	7d 05                	jge    0x571862
57185d:	83 c8 ff             	or     $0xffffffff,%eax
571860:	eb 5e                	jmp    0x5718c0
571862:	8d 5d ff             	lea    -0x1(%ebp),%ebx
571865:	8d 34 1c             	lea    (%esp,%ebx,1),%esi
571868:	85 db                	test   %ebx,%ebx
57186a:	7c 18                	jl     0x571884
57186c:	0f be 16             	movsbl (%esi),%edx
57186f:	8b c7                	mov    %edi,%eax
571871:	e8 e2 6f 00 00       	call   0x578858
571876:	40                   	inc    %eax
571877:	75 05                	jne    0x57187e
571879:	83 c8 ff             	or     $0xffffffff,%eax
57187c:	eb 42                	jmp    0x5718c0
57187e:	4b                   	dec    %ebx
57187f:	4e                   	dec    %esi
571880:	85 db                	test   %ebx,%ebx
571882:	7d e8                	jge    0x57186c
571884:	83 fd 10             	cmp    $0x10,%ebp
571887:	7d 05                	jge    0x57188e
571889:	83 c8 ff             	or     $0xffffffff,%eax
57188c:	eb 32                	jmp    0x5718c0
57188e:	0f be 54 24 04       	movsbl 0x4(%esp),%edx
571893:	c1 e2 18             	shl    $0x18,%edx
571896:	0f be 4c 24 05       	movsbl 0x5(%esp),%ecx
57189b:	c1 e1 10             	shl    $0x10,%ecx
57189e:	0b d1                	or     %ecx,%edx
5718a0:	0f be 44 24 06       	movsbl 0x6(%esp),%eax
5718a5:	c1 e0 08             	shl    $0x8,%eax
5718a8:	0b d0                	or     %eax,%edx
5718aa:	0f be 4c 24 07       	movsbl 0x7(%esp),%ecx
5718af:	0b d1                	or     %ecx,%edx
5718b1:	81 fa 20 20 50 6a    	cmp    $0x6a502020,%edx
5718b7:	74 05                	je     0x5718be
5718b9:	83 c8 ff             	or     $0xffffffff,%eax
5718bc:	eb 02                	jmp    0x5718c0
5718be:	33 c0                	xor    %eax,%eax
5718c0:	83 c4 10             	add    $0x10,%esp
5718c3:	5d                   	pop    %ebp
5718c4:	5f                   	pop    %edi
5718c5:	5e                   	pop    %esi
5718c6:	5b                   	pop    %ebx
5718c7:	c3                   	ret
5718c8:	53                   	push   %ebx
5718c9:	b8 24 00 00 00       	mov    $0x24,%eax
5718ce:	e8 a9 6a 00 00       	call   0x57837c
5718d3:	8b d8                	mov    %eax,%ebx
5718d5:	85 c0                	test   %eax,%eax
5718d7:	75 04                	jne    0x5718dd
5718d9:	33 c0                	xor    %eax,%eax
5718db:	5b                   	pop    %ebx
5718dc:	c3                   	ret
5718dd:	33 d2                	xor    %edx,%edx
5718df:	33 c9                	xor    %ecx,%ecx
5718e1:	89 53 08             	mov    %edx,0x8(%ebx)
5718e4:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5718e7:	33 c0                	xor    %eax,%eax
5718e9:	33 d2                	xor    %edx,%edx
5718eb:	89 43 04             	mov    %eax,0x4(%ebx)
5718ee:	89 13                	mov    %edx,(%ebx)
5718f0:	33 c9                	xor    %ecx,%ecx
5718f2:	33 c0                	xor    %eax,%eax
5718f4:	89 4b 18             	mov    %ecx,0x18(%ebx)
5718f7:	89 43 20             	mov    %eax,0x20(%ebx)
5718fa:	33 d2                	xor    %edx,%edx
5718fc:	33 c9                	xor    %ecx,%ecx
5718fe:	8b c3                	mov    %ebx,%eax
571900:	89 53 10             	mov    %edx,0x10(%ebx)
571903:	89 4b 14             	mov    %ecx,0x14(%ebx)
571906:	5b                   	pop    %ebx
571907:	c3                   	ret
571908:	53                   	push   %ebx
571909:	8b d8                	mov    %eax,%ebx
57190b:	8b 43 08             	mov    0x8(%ebx),%eax
57190e:	85 c0                	test   %eax,%eax
571910:	74 05                	je     0x571917
571912:	e8 fd 20 00 00       	call   0x573a14
571917:	8b 43 0c             	mov    0xc(%ebx),%eax
57191a:	85 c0                	test   %eax,%eax
57191c:	74 05                	je     0x571923
57191e:	e8 f1 20 00 00       	call   0x573a14
571923:	8b 43 04             	mov    0x4(%ebx),%eax
571926:	85 c0                	test   %eax,%eax
571928:	74 05                	je     0x57192f
57192a:	e8 e5 20 00 00       	call   0x573a14
57192f:	8b 03                	mov    (%ebx),%eax
571931:	85 c0                	test   %eax,%eax
571933:	74 05                	je     0x57193a
571935:	e8 da 20 00 00       	call   0x573a14
57193a:	8b 43 18             	mov    0x18(%ebx),%eax
57193d:	85 c0                	test   %eax,%eax
57193f:	74 05                	je     0x571946
571941:	e8 62 34 00 00       	call   0x574da8
571946:	8b 43 10             	mov    0x10(%ebx),%eax
571949:	85 c0                	test   %eax,%eax
57194b:	74 05                	je     0x571952
57194d:	e8 c2 20 00 00       	call   0x573a14
571952:	8b 43 14             	mov    0x14(%ebx),%eax
571955:	85 c0                	test   %eax,%eax
571957:	74 05                	je     0x57195e
571959:	e8 b6 20 00 00       	call   0x573a14
57195e:	8b 43 20             	mov    0x20(%ebx),%eax
571961:	85 c0                	test   %eax,%eax
571963:	74 05                	je     0x57196a
571965:	e8 1a 6a 00 00       	call   0x578384
57196a:	8b c3                	mov    %ebx,%eax
57196c:	e8 13 6a 00 00       	call   0x578384
571971:	5b                   	pop    %ebx
571972:	c3                   	ret
571973:	90                   	nop
571974:	83 fa 01             	cmp    $0x1,%edx
571977:	75 0a                	jne    0x571983
571979:	85 c9                	test   %ecx,%ecx
57197b:	75 06                	jne    0x571983
57197d:	b8 00 80 00 00       	mov    $0x8000,%eax
571982:	c3                   	ret
571983:	85 d2                	test   %edx,%edx
571985:	75 5b                	jne    0x5719e2
571987:	83 f9 01             	cmp    $0x1,%ecx
57198a:	7c 56                	jl     0x5719e2
57198c:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
571992:	7f 4e                	jg     0x5719e2
571994:	48                   	dec    %eax
571995:	74 3c                	je     0x5719d3
571997:	48                   	dec    %eax
571998:	74 05                	je     0x57199f
57199a:	48                   	dec    %eax
57199b:	74 1c                	je     0x5719b9
57199d:	eb 3a                	jmp    0x5719d9
57199f:	49                   	dec    %ecx
5719a0:	74 08                	je     0x5719aa
5719a2:	49                   	dec    %ecx
5719a3:	74 08                	je     0x5719ad
5719a5:	49                   	dec    %ecx
5719a6:	74 0b                	je     0x5719b3
5719a8:	eb 38                	jmp    0x5719e2
5719aa:	33 c0                	xor    %eax,%eax
5719ac:	c3                   	ret
5719ad:	b8 01 00 00 00       	mov    $0x1,%eax
5719b2:	c3                   	ret
5719b3:	b8 02 00 00 00       	mov    $0x2,%eax
5719b8:	c3                   	ret
5719b9:	49                   	dec    %ecx
5719ba:	74 08                	je     0x5719c4
5719bc:	49                   	dec    %ecx
5719bd:	74 08                	je     0x5719c7
5719bf:	49                   	dec    %ecx
5719c0:	74 0b                	je     0x5719cd
5719c2:	eb 1e                	jmp    0x5719e2
5719c4:	33 c0                	xor    %eax,%eax
5719c6:	c3                   	ret
5719c7:	b8 01 00 00 00       	mov    $0x1,%eax
5719cc:	c3                   	ret
5719cd:	b8 02 00 00 00       	mov    $0x2,%eax
5719d2:	c3                   	ret
5719d3:	49                   	dec    %ecx
5719d4:	75 0c                	jne    0x5719e2
5719d6:	33 c0                	xor    %eax,%eax
5719d8:	c3                   	ret
5719d9:	8d 41 ff             	lea    -0x1(%ecx),%eax
5719dc:	25 ff 7f 00 00       	and    $0x7fff,%eax
5719e1:	c3                   	ret
5719e2:	b8 00 00 01 00       	mov    $0x10000,%eax
5719e7:	c3                   	ret
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