568758:	c1 e6 04             	shl    $0x4,%esi
56875b:	83 c6 08             	add    $0x8,%esi
56875e:	6a 00                	push   $0x0
568760:	56                   	push   %esi
568761:	85 c0                	test   %eax,%eax
568763:	74 10                	je     0x568775
568765:	50                   	push   %eax
568766:	e8 75 8c fb ff       	call   0x5213e0
56876b:	8b c8                	mov    %eax,%ecx
56876d:	83 c4 0c             	add    $0xc,%esp
568770:	89 4d fc             	mov    %ecx,-0x4(%ebp)
568773:	eb 0d                	jmp    0x568782
568775:	e8 e6 87 fc ff       	call   0x530f60
56877a:	83 c4 08             	add    $0x8,%esp
56877d:	89 45 fc             	mov    %eax,-0x4(%ebp)
568780:	8b c8                	mov    %eax,%ecx
568782:	85 c9                	test   %ecx,%ecx
568784:	0f 84 d5 00 00 00    	je     0x56885f
56878a:	56                   	push   %esi
56878b:	6a 00                	push   $0x0
56878d:	51                   	push   %ecx
56878e:	e8 6d b2 07 00       	call   0x5e3a00
568793:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568796:	83 c4 0c             	add    $0xc,%esp
568799:	85 c9                	test   %ecx,%ecx
56879b:	0f 84 be 00 00 00    	je     0x56885f
5687a1:	8b 03                	mov    (%ebx),%eax
5687a3:	89 01                	mov    %eax,(%ecx)
5687a5:	83 3b 00             	cmpl   $0x0,(%ebx)
5687a8:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5687af:	0f 8e aa 00 00 00    	jle    0x56885f
5687b5:	8b 45 0c             	mov    0xc(%ebp),%eax
5687b8:	83 c3 08             	add    $0x8,%ebx
5687bb:	2b c1                	sub    %ecx,%eax
5687bd:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5687c0:	57                   	push   %edi
5687c1:	8d 79 10             	lea    0x10(%ecx),%edi
5687c4:	89 45 ec             	mov    %eax,-0x14(%ebp)
5687c7:	8b 75 08             	mov    0x8(%ebp),%esi
5687ca:	6a 00                	push   $0x0
5687cc:	ff 34 38             	push   (%eax,%edi,1)
5687cf:	56                   	push   %esi
5687d0:	e8 0b 3a fd ff       	call   0x53c1e0
5687d5:	6a 00                	push   $0x0
5687d7:	89 07                	mov    %eax,(%edi)
5687d9:	ff 73 04             	push   0x4(%ebx)
5687dc:	56                   	push   %esi
5687dd:	e8 de f0 fb ff       	call   0x5278c0
5687e2:	89 47 fc             	mov    %eax,-0x4(%edi)
5687e5:	83 c4 18             	add    $0x18,%esp
5687e8:	8b 03                	mov    (%ebx),%eax
5687ea:	89 45 f0             	mov    %eax,-0x10(%ebp)
5687ed:	85 c0                	test   %eax,%eax
5687ef:	75 04                	jne    0x5687f5
5687f1:	33 f6                	xor    %esi,%esi
5687f3:	eb 3f                	jmp    0x568834
5687f5:	8d 50 01             	lea    0x1(%eax),%edx
5687f8:	8a 08                	mov    (%eax),%cl
5687fa:	40                   	inc    %eax
5687fb:	84 c9                	test   %cl,%cl
5687fd:	75 f9                	jne    0x5687f8
5687ff:	2b c2                	sub    %edx,%eax
568801:	6a 00                	push   $0x0
568803:	8d 58 01             	lea    0x1(%eax),%ebx
568806:	53                   	push   %ebx
568807:	85 f6                	test   %esi,%esi
568809:	74 0b                	je     0x568816
56880b:	56                   	push   %esi
56880c:	e8 cf 8b fb ff       	call   0x5213e0
568811:	83 c4 0c             	add    $0xc,%esp
568814:	eb 08                	jmp    0x56881e
568816:	e8 45 87 fc ff       	call   0x530f60
56881b:	83 c4 08             	add    $0x8,%esp
56881e:	8b f0                	mov    %eax,%esi
568820:	85 f6                	test   %esi,%esi
568822:	74 0d                	je     0x568831
568824:	53                   	push   %ebx
568825:	ff 75 f0             	push   -0x10(%ebp)
568828:	56                   	push   %esi
568829:	e8 d2 a6 07 00       	call   0x5e2f00
56882e:	83 c4 0c             	add    $0xc,%esp
568831:	8b 5d f4             	mov    -0xc(%ebp),%ebx
568834:	8b 45 0c             	mov    0xc(%ebp),%eax
568837:	83 c3 10             	add    $0x10,%ebx
56883a:	89 77 f8             	mov    %esi,-0x8(%edi)
56883d:	83 c7 10             	add    $0x10,%edi
568840:	8b 75 f8             	mov    -0x8(%ebp),%esi
568843:	46                   	inc    %esi
568844:	89 5d f4             	mov    %ebx,-0xc(%ebp)
568847:	3b 30                	cmp    (%eax),%esi
568849:	8b 45 ec             	mov    -0x14(%ebp),%eax
56884c:	89 75 f8             	mov    %esi,-0x8(%ebp)
56884f:	0f 8c 72 ff ff ff    	jl     0x5687c7
568855:	8b 45 fc             	mov    -0x4(%ebp),%eax
568858:	5f                   	pop    %edi
568859:	5e                   	pop    %esi
56885a:	5b                   	pop    %ebx
56885b:	8b e5                	mov    %ebp,%esp
56885d:	5d                   	pop    %ebp
56885e:	c3                   	ret
56885f:	5e                   	pop    %esi
568860:	8b c1                	mov    %ecx,%eax
568862:	5b                   	pop    %ebx
568863:	8b e5                	mov    %ebp,%esp
568865:	5d                   	pop    %ebp
568866:	c3                   	ret
568867:	33 c0                	xor    %eax,%eax
568869:	5b                   	pop    %ebx
56886a:	8b e5                	mov    %ebp,%esp
56886c:	5d                   	pop    %ebp
56886d:	c3                   	ret
56886e:	cc                   	int3
56886f:	cc                   	int3
568870:	55                   	push   %ebp
568871:	8b ec                	mov    %esp,%ebp
568873:	83 ec 1c             	sub    $0x1c,%esp
568876:	57                   	push   %edi
568877:	8b 7d 08             	mov    0x8(%ebp),%edi
56887a:	8b 3f                	mov    (%edi),%edi
56887c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
56887f:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
568883:	8b 07                	mov    (%edi),%eax
568885:	89 45 fc             	mov    %eax,-0x4(%ebp)
568888:	74 0a                	je     0x568894
56888a:	b8 01 00 00 00       	mov    $0x1,%eax
56888f:	5f                   	pop    %edi
568890:	8b e5                	mov    %ebp,%esp
568892:	5d                   	pop    %ebp
568893:	c3                   	ret
568894:	53                   	push   %ebx
568895:	8b 5d 0c             	mov    0xc(%ebp),%ebx
568898:	8d 45 ec             	lea    -0x14(%ebp),%eax
56889b:	56                   	push   %esi
56889c:	50                   	push   %eax
56889d:	53                   	push   %ebx
56889e:	ff b7 08 01 00 00    	push   0x108(%edi)
5688a4:	e8 27 cb fa ff       	call   0x5153d0
5688a9:	8b f0                	mov    %eax,%esi
5688ab:	83 c4 0c             	add    $0xc,%esp
5688ae:	89 75 f0             	mov    %esi,-0x10(%ebp)
5688b1:	85 f6                	test   %esi,%esi
5688b3:	0f 84 5e 02 00 00    	je     0x568b17
5688b9:	8b 46 0c             	mov    0xc(%esi),%eax
5688bc:	85 c0                	test   %eax,%eax
5688be:	74 18                	je     0x5688d8
5688c0:	ff 36                	push   (%esi)
5688c2:	50                   	push   %eax
5688c3:	57                   	push   %edi
5688c4:	e8 97 a9 fb ff       	call   0x523260
5688c9:	83 c4 0c             	add    $0xc,%esp
5688cc:	b8 01 00 00 00       	mov    $0x1,%eax
5688d1:	5e                   	pop    %esi
5688d2:	5b                   	pop    %ebx
5688d3:	5f                   	pop    %edi
5688d4:	8b e5                	mov    %ebp,%esp
5688d6:	5d                   	pop    %ebp
5688d7:	c3                   	ret
5688d8:	f6 43 28 04          	testb  $0x4,0x28(%ebx)
5688dc:	74 1d                	je     0x5688fb
5688de:	ff 73 08             	push   0x8(%ebx)
5688e1:	68 04 b1 6b 00       	push   $0x6bb104
5688e6:	57                   	push   %edi
5688e7:	e8 74 a9 fb ff       	call   0x523260
5688ec:	83 c4 0c             	add    $0xc,%esp
5688ef:	b8 01 00 00 00       	mov    $0x1,%eax
5688f4:	5e                   	pop    %esi
5688f5:	5b                   	pop    %ebx
5688f6:	5f                   	pop    %edi
5688f7:	8b e5                	mov    %ebp,%esp
5688f9:	5d                   	pop    %ebp
5688fa:	c3                   	ret
5688fb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5688fe:	6a 00                	push   $0x0
568900:	6a 50                	push   $0x50
568902:	51                   	push   %ecx
568903:	e8 18 8c fb ff       	call   0x521520
568908:	8b d8                	mov    %eax,%ebx
56890a:	83 c4 0c             	add    $0xc,%esp
56890d:	8b 45 0c             	mov    0xc(%ebp),%eax
568910:	89 58 10             	mov    %ebx,0x10(%eax)
568913:	85 db                	test   %ebx,%ebx
568915:	75 0a                	jne    0x568921
568917:	5e                   	pop    %esi
568918:	8d 43 02             	lea    0x2(%ebx),%eax
56891b:	5b                   	pop    %ebx
56891c:	5f                   	pop    %edi
56891d:	8b e5                	mov    %ebp,%esp
56891f:	5d                   	pop    %ebp
568920:	c3                   	ret
568921:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
568928:	ff 36                	push   (%esi)
56892a:	ff 75 fc             	push   -0x4(%ebp)
56892d:	e8 7e 8d fb ff       	call   0x5216b0
568932:	81 4b 24 02 02 00 00 	orl    $0x202,0x24(%ebx)
568939:	89 03                	mov    %eax,(%ebx)
56893b:	83 c8 ff             	or     $0xffffffff,%eax
56893e:	66 89 43 28          	mov    %ax,0x28(%ebx)
568942:	b8 c8 00 00 00       	mov    $0xc8,%eax
568947:	6a 00                	push   $0x0
568949:	66 89 43 2e          	mov    %ax,0x2e(%ebx)
56894d:	ff 76 08             	push   0x8(%esi)
568950:	ff 75 fc             	push   -0x4(%ebp)
568953:	e8 88 38 fd ff       	call   0x53c1e0
568958:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56895b:	83 c4 14             	add    $0x14,%esp
56895e:	89 45 f8             	mov    %eax,-0x8(%ebp)
568961:	89 41 14             	mov    %eax,0x14(%ecx)
568964:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568967:	80 79 51 00          	cmpb   $0x0,0x51(%ecx)
56896b:	74 0c                	je     0x568979
56896d:	5e                   	pop    %esi
56896e:	5b                   	pop    %ebx
56896f:	b8 07 00 00 00       	mov    $0x7,%eax
568974:	5f                   	pop    %edi
568975:	8b e5                	mov    %ebp,%esp
568977:	5d                   	pop    %ebp
568978:	c3                   	ret
568979:	8a 08                	mov    (%eax),%cl
56897b:	80 f9 85             	cmp    $0x85,%cl
56897e:	74 0c                	je     0x56898c
568980:	80 f9 84             	cmp    $0x84,%cl
568983:	74 07                	je     0x56898c
568985:	33 d2                	xor    %edx,%edx
568987:	89 55 e8             	mov    %edx,-0x18(%ebp)
56898a:	eb 74                	jmp    0x568a00
56898c:	8b 50 20             	mov    0x20(%eax),%edx
56898f:	89 55 fc             	mov    %edx,-0x4(%ebp)
568992:	33 d2                	xor    %edx,%edx
568994:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568997:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
56899e:	89 55 f4             	mov    %edx,-0xc(%ebp)
5689a1:	39 11                	cmp    %edx,(%ecx)
5689a3:	7e 56                	jle    0x5689fb
5689a5:	8b 7d f0             	mov    -0x10(%ebp),%edi
5689a8:	8b f1                	mov    %ecx,%esi
5689aa:	83 c6 10             	add    $0x10,%esi
5689ad:	0f 1f 00             	nopl   (%eax)
5689b0:	83 7e fc 00          	cmpl   $0x0,-0x4(%esi)
5689b4:	75 34                	jne    0x5689ea
5689b6:	8b 0e                	mov    (%esi),%ecx
5689b8:	85 c9                	test   %ecx,%ecx
5689ba:	74 2b                	je     0x5689e7
5689bc:	ff 37                	push   (%edi)
5689be:	51                   	push   %ecx
5689bf:	e8 6c 52 fd ff       	call   0x53dc30
5689c4:	8b 55 f4             	mov    -0xc(%ebp),%edx
5689c7:	83 c4 08             	add    $0x8,%esp
5689ca:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5689cd:	85 c0                	test   %eax,%eax
5689cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5689d2:	75 16                	jne    0x5689ea
5689d4:	83 4e 20 20          	orl    $0x20,0x20(%esi)
5689d8:	89 5e 08             	mov    %ebx,0x8(%esi)
5689db:	ff 43 20             	incl   0x20(%ebx)
5689de:	81 48 04 00 20 00 00 	orl    $0x2000,0x4(%eax)
5689e5:	eb 03                	jmp    0x5689ea
5689e7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5689ea:	42                   	inc    %edx
5689eb:	83 c6 48             	add    $0x48,%esi
5689ee:	89 55 f4             	mov    %edx,-0xc(%ebp)
5689f1:	3b 11                	cmp    (%ecx),%edx
5689f3:	7c bb                	jl     0x5689b0
5689f5:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5689f8:	8b 75 f0             	mov    -0x10(%ebp),%esi
5689fb:	ba 01 00 00 00       	mov    $0x1,%edx
568a00:	83 7b 20 02          	cmpl   $0x2,0x20(%ebx)
568a04:	76 1c                	jbe    0x568a22
568a06:	ff 36                	push   (%esi)
568a08:	68 1c b1 6b 00       	push   $0x6bb11c
568a0d:	57                   	push   %edi
568a0e:	e8 4d a8 fb ff       	call   0x523260
568a13:	83 c4 0c             	add    $0xc,%esp
568a16:	b8 01 00 00 00       	mov    $0x1,%eax
568a1b:	5e                   	pop    %esi
568a1c:	5b                   	pop    %ebx
568a1d:	5f                   	pop    %edi
568a1e:	8b e5                	mov    %ebp,%esp
568a20:	5d                   	pop    %ebp
568a21:	c3                   	ret
568a22:	c7 46 0c 48 b1 6b 00 	movl   $0x6bb148,0xc(%esi)
568a29:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
568a2f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
568a32:	8b 4d ec             	mov    -0x14(%ebp),%ecx
568a35:	89 8f 08 01 00 00    	mov    %ecx,0x108(%edi)
568a3b:	85 d2                	test   %edx,%edx
568a3d:	74 1e                	je     0x568a5d
568a3f:	8b 70 34             	mov    0x34(%eax),%esi
568a42:	8b 40 40             	mov    0x40(%eax),%eax
568a45:	56                   	push   %esi
568a46:	ff 75 08             	push   0x8(%ebp)
568a49:	89 46 40             	mov    %eax,0x40(%esi)
568a4c:	e8 9f 73 fe ff       	call   0x54fdf0
568a51:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
568a58:	8b 75 f0             	mov    -0x10(%ebp),%esi
568a5b:	eb 09                	jmp    0x568a66
568a5d:	50                   	push   %eax
568a5e:	ff 75 08             	push   0x8(%ebp)
568a61:	e8 8a 73 fe ff       	call   0x54fdf0
568a66:	8b 45 ec             	mov    -0x14(%ebp),%eax
568a69:	83 c4 08             	add    $0x8,%esp
568a6c:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
568a72:	8b 45 f8             	mov    -0x8(%ebp),%eax
568a75:	8b c8                	mov    %eax,%ecx
568a77:	8b 40 34             	mov    0x34(%eax),%eax
568a7a:	85 c0                	test   %eax,%eax
568a7c:	74 0b                	je     0x568a89
568a7e:	66 90                	xchg   %ax,%ax
568a80:	8b c8                	mov    %eax,%ecx
568a82:	8b 41 34             	mov    0x34(%ecx),%eax
568a85:	85 c0                	test   %eax,%eax
568a87:	75 f7                	jne    0x568a80
568a89:	8b 46 04             	mov    0x4(%esi),%eax
568a8c:	8b 49 1c             	mov    0x1c(%ecx),%ecx
568a8f:	85 c0                	test   %eax,%eax
568a91:	74 35                	je     0x568ac8
568a93:	85 c9                	test   %ecx,%ecx
568a95:	74 2f                	je     0x568ac6
568a97:	8b 09                	mov    (%ecx),%ecx
568a99:	8b 10                	mov    (%eax),%edx
568a9b:	3b ca                	cmp    %edx,%ecx
568a9d:	74 27                	je     0x568ac6
568a9f:	52                   	push   %edx
568aa0:	51                   	push   %ecx
568aa1:	ff 36                	push   (%esi)
568aa3:	68 60 b1 6b 00       	push   $0x6bb160
568aa8:	57                   	push   %edi
568aa9:	e8 b2 a7 fb ff       	call   0x523260
568aae:	8b 45 f4             	mov    -0xc(%ebp),%eax
568ab1:	83 c4 14             	add    $0x14,%esp
568ab4:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
568aba:	b8 01 00 00 00       	mov    $0x1,%eax
568abf:	5e                   	pop    %esi
568ac0:	5b                   	pop    %ebx
568ac1:	5f                   	pop    %edi
568ac2:	8b e5                	mov    %ebp,%esp
568ac4:	5d                   	pop    %ebp
568ac5:	c3                   	ret
568ac6:	8b c8                	mov    %eax,%ecx
568ac8:	8d 43 04             	lea    0x4(%ebx),%eax
568acb:	50                   	push   %eax
568acc:	8d 43 2a             	lea    0x2a(%ebx),%eax
568acf:	50                   	push   %eax
568ad0:	51                   	push   %ecx
568ad1:	57                   	push   %edi
568ad2:	e8 29 6a fb ff       	call   0x51f500
568ad7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
568ada:	83 c4 10             	add    $0x10,%esp
568add:	85 c9                	test   %ecx,%ecx
568adf:	74 26                	je     0x568b07
568ae1:	8b 4d f8             	mov    -0x8(%ebp),%ecx