570680:	33 cc                	xor    %esp,%ecx
570682:	e8 9f 13 06 00       	call   0x5d1a26
570687:	83 c4 50             	add    $0x50,%esp
57068a:	c3                   	ret
57068b:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
57068f:	b8 01 00 00 00       	mov    $0x1,%eax
570694:	5f                   	pop    %edi
570695:	5e                   	pop    %esi
570696:	5d                   	pop    %ebp
570697:	5b                   	pop    %ebx
570698:	33 cc                	xor    %esp,%ecx
57069a:	e8 87 13 06 00       	call   0x5d1a26
57069f:	83 c4 50             	add    $0x50,%esp
5706a2:	c3                   	ret
5706a3:	cc                   	int3
5706a4:	cc                   	int3
5706a5:	cc                   	int3
5706a6:	cc                   	int3
5706a7:	cc                   	int3
5706a8:	cc                   	int3
5706a9:	cc                   	int3
5706aa:	cc                   	int3
5706ab:	cc                   	int3
5706ac:	cc                   	int3
5706ad:	cc                   	int3
5706ae:	cc                   	int3
5706af:	cc                   	int3
5706b0:	53                   	push   %ebx
5706b1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
5706b5:	56                   	push   %esi
5706b6:	8b 74 24 10          	mov    0x10(%esp),%esi
5706ba:	57                   	push   %edi
5706bb:	8b 06                	mov    (%esi),%eax
5706bd:	85 c0                	test   %eax,%eax
5706bf:	78 64                	js     0x570725
5706c1:	8b 7c 24 18          	mov    0x18(%esp),%edi
5706c5:	3b c7                	cmp    %edi,%eax
5706c7:	7f 5c                	jg     0x570725
5706c9:	85 c0                	test   %eax,%eax
5706cb:	7e 38                	jle    0x570705
5706cd:	50                   	push   %eax
5706ce:	ff 76 08             	push   0x8(%esi)
5706d1:	53                   	push   %ebx
5706d2:	e8 f9 26 06 00       	call   0x5d2dd0
5706d7:	8b 46 0c             	mov    0xc(%esi),%eax
5706da:	83 c4 0c             	add    $0xc,%esp
5706dd:	83 e0 07             	and    $0x7,%eax
5706e0:	74 23                	je     0x570705
5706e2:	b9 08 00 00 00       	mov    $0x8,%ecx
5706e7:	ba ff 00 00 00       	mov    $0xff,%edx
5706ec:	2b c8                	sub    %eax,%ecx
5706ee:	8b 06                	mov    (%esi),%eax
5706f0:	d3 fa                	sar    %cl,%edx
5706f2:	80 7c 24 1c 00       	cmpb   $0x0,0x1c(%esp)
5706f7:	75 08                	jne    0x570701
5706f9:	f6 d2                	not    %dl
5706fb:	20 54 18 ff          	and    %dl,-0x1(%eax,%ebx,1)
5706ff:	eb 04                	jmp    0x570705
570701:	08 54 18 ff          	or     %dl,-0x1(%eax,%ebx,1)
570705:	8b 0e                	mov    (%esi),%ecx
570707:	2b f9                	sub    %ecx,%edi
570709:	0f b6 44 24 1c       	movzbl 0x1c(%esp),%eax
57070e:	57                   	push   %edi
57070f:	50                   	push   %eax
570710:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
570713:	50                   	push   %eax
570714:	e8 57 25 06 00       	call   0x5d2c70
570719:	83 c4 0c             	add    $0xc,%esp
57071c:	b8 01 00 00 00       	mov    $0x1,%eax
570721:	5f                   	pop    %edi
570722:	5e                   	pop    %esi
570723:	5b                   	pop    %ebx
570724:	c3                   	ret
570725:	5f                   	pop    %edi
570726:	5e                   	pop    %esi
570727:	33 c0                	xor    %eax,%eax
570729:	5b                   	pop    %ebx
57072a:	c3                   	ret
57072b:	cc                   	int3
57072c:	cc                   	int3
57072d:	cc                   	int3
57072e:	cc                   	int3
57072f:	cc                   	int3
570730:	b8 14 00 00 00       	mov    $0x14,%eax
570735:	e8 76 10 06 00       	call   0x5d17b0
57073a:	53                   	push   %ebx
57073b:	55                   	push   %ebp
57073c:	8b 6c 24 24          	mov    0x24(%esp),%ebp
570740:	33 db                	xor    %ebx,%ebx
570742:	56                   	push   %esi
570743:	57                   	push   %edi
570744:	bf 01 00 00 00       	mov    $0x1,%edi
570749:	89 7c 24 14          	mov    %edi,0x14(%esp)
57074d:	85 ed                	test   %ebp,%ebp
57074f:	0f 84 f7 03 00 00    	je     0x570b4c
570755:	55                   	push   %ebp
570756:	e8 65 49 f7 ff       	call   0x4e50c0
57075b:	83 c4 04             	add    $0x4,%esp
57075e:	85 c0                	test   %eax,%eax
570760:	0f 8e e6 03 00 00    	jle    0x570b4c
570766:	8b 74 24 28          	mov    0x28(%esp),%esi
57076a:	85 f6                	test   %esi,%esi
57076c:	75 10                	jne    0x57077e
57076e:	8b 44 24 30          	mov    0x30(%esp),%eax
570772:	85 c0                	test   %eax,%eax
570774:	75 19                	jne    0x57078f
570776:	5f                   	pop    %edi
570777:	5e                   	pop    %esi
570778:	5d                   	pop    %ebp
570779:	5b                   	pop    %ebx
57077a:	83 c4 14             	add    $0x14,%esp
57077d:	c3                   	ret
57077e:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
570781:	0f 84 cd 03 00 00    	je     0x570b54
570787:	8b 44 24 30          	mov    0x30(%esp),%eax
57078b:	85 c0                	test   %eax,%eax
57078d:	74 10                	je     0x57079f
57078f:	33 ed                	xor    %ebp,%ebp
570791:	c7 44 24 10 ff ff ff 	movl   $0xffffffff,0x10(%esp)
570798:	ff
570799:	89 6c 24 18          	mov    %ebp,0x18(%esp)
57079d:	eb 23                	jmp    0x5707c2
57079f:	6a 00                	push   $0x0
5707a1:	55                   	push   %ebp
5707a2:	89 5c 24 18          	mov    %ebx,0x18(%esp)
5707a6:	e8 d5 4a f7 ff       	call   0x4e5280
5707ab:	8b e8                	mov    %eax,%ebp
5707ad:	83 c4 08             	add    $0x8,%esp
5707b0:	89 6c 24 18          	mov    %ebp,0x18(%esp)
5707b4:	8b 85 a8 00 00 00    	mov    0xa8(%ebp),%eax
5707ba:	89 44 24 30          	mov    %eax,0x30(%esp)
5707be:	85 c0                	test   %eax,%eax
5707c0:	74 7d                	je     0x57083f
5707c2:	50                   	push   %eax
5707c3:	e8 68 f6 ff ff       	call   0x56fe30
5707c8:	83 c4 04             	add    $0x4,%esp
5707cb:	85 c0                	test   %eax,%eax
5707cd:	75 2a                	jne    0x5707f9
5707cf:	85 f6                	test   %esi,%esi
5707d1:	74 6a                	je     0x57083d
5707d3:	8b 44 24 10          	mov    0x10(%esp),%eax
5707d7:	89 46 5c             	mov    %eax,0x5c(%esi)
5707da:	8b 46 1c             	mov    0x1c(%esi),%eax
5707dd:	56                   	push   %esi
5707de:	6a 00                	push   $0x0
5707e0:	c7 46 60 29 00 00 00 	movl   $0x29,0x60(%esi)
5707e7:	89 6e 64             	mov    %ebp,0x64(%esi)
5707ea:	ff d0                	call   *%eax
5707ec:	8b f8                	mov    %eax,%edi
5707ee:	83 c4 08             	add    $0x8,%esp
5707f1:	89 7c 24 14          	mov    %edi,0x14(%esp)
5707f5:	85 ff                	test   %edi,%edi
5707f7:	74 46                	je     0x57083f
5707f9:	8b 5c 24 30          	mov    0x30(%esp),%ebx
5707fd:	68 40 f6 56 00       	push   $0x56f640
570802:	53                   	push   %ebx
570803:	e8 d8 49 f7 ff       	call   0x4e51e0
570808:	53                   	push   %ebx
570809:	e8 c2 45 f7 ff       	call   0x4e4dd0
57080e:	8b d8                	mov    %eax,%ebx
570810:	83 c4 0c             	add    $0xc,%esp
570813:	85 db                	test   %ebx,%ebx
570815:	75 3b                	jne    0x570852
570817:	68 bc 04 00 00       	push   $0x4bc
57081c:	68 90 9a 65 00       	push   $0x659a90
570821:	6a 41                	push   $0x41
570823:	68 a6 00 00 00       	push   $0xa6
570828:	6a 22                	push   $0x22
57082a:	e8 51 87 f6 ff       	call   0x4d8f80
57082f:	83 c4 14             	add    $0x14,%esp
570832:	85 f6                	test   %esi,%esi
570834:	74 07                	je     0x57083d
570836:	c7 46 60 11 00 00 00 	movl   $0x11,0x60(%esi)
57083d:	33 ff                	xor    %edi,%edi
57083f:	53                   	push   %ebx
570840:	e8 db 46 f7 ff       	call   0x4e4f20
570845:	83 c4 04             	add    $0x4,%esp
570848:	8b c7                	mov    %edi,%eax
57084a:	5f                   	pop    %edi
57084b:	5e                   	pop    %esi
57084c:	5d                   	pop    %ebp
57084d:	5b                   	pop    %ebx
57084e:	83 c4 14             	add    $0x14,%esp
570851:	c3                   	ret
570852:	8b 6c 24 10          	mov    0x10(%esp),%ebp
570856:	ff 74 24 2c          	push   0x2c(%esp)
57085a:	45                   	inc    %ebp
57085b:	89 6c 24 14          	mov    %ebp,0x14(%esp)
57085f:	e8 5c 48 f7 ff       	call   0x4e50c0
570864:	83 c4 04             	add    $0x4,%esp
570867:	3b e8                	cmp    %eax,%ebp
570869:	0f 8d b6 00 00 00    	jge    0x570925
57086f:	90                   	nop
570870:	55                   	push   %ebp
570871:	ff 74 24 30          	push   0x30(%esp)
570875:	e8 06 4a f7 ff       	call   0x4e5280
57087a:	8b e8                	mov    %eax,%ebp
57087c:	89 6c 24 20          	mov    %ebp,0x20(%esp)
570880:	ff b5 a8 00 00 00    	push   0xa8(%ebp)
570886:	e8 a5 f5 ff ff       	call   0x56fe30
57088b:	83 c4 0c             	add    $0xc,%esp
57088e:	85 c0                	test   %eax,%eax
570890:	75 2a                	jne    0x5708bc
570892:	85 f6                	test   %esi,%esi
570894:	74 a7                	je     0x57083d
570896:	8b 44 24 10          	mov    0x10(%esp),%eax
57089a:	89 46 5c             	mov    %eax,0x5c(%esi)
57089d:	8b 46 1c             	mov    0x1c(%esi),%eax
5708a0:	56                   	push   %esi
5708a1:	6a 00                	push   $0x0
5708a3:	c7 46 60 29 00 00 00 	movl   $0x29,0x60(%esi)
5708aa:	89 6e 64             	mov    %ebp,0x64(%esi)
5708ad:	ff d0                	call   *%eax
5708af:	8b f8                	mov    %eax,%edi
5708b1:	83 c4 08             	add    $0x8,%esp
5708b4:	89 7c 24 14          	mov    %edi,0x14(%esp)
5708b8:	85 ff                	test   %edi,%edi
5708ba:	74 83                	je     0x57083f
5708bc:	8b 85 a8 00 00 00    	mov    0xa8(%ebp),%eax
5708c2:	85 c0                	test   %eax,%eax
5708c4:	0f 85 3f 01 00 00    	jne    0x570a09
5708ca:	53                   	push   %ebx
5708cb:	33 ff                	xor    %edi,%edi
5708cd:	e8 ee 47 f7 ff       	call   0x4e50c0
5708d2:	83 c4 04             	add    $0x4,%esp
5708d5:	85 c0                	test   %eax,%eax
5708d7:	7e 2b                	jle    0x570904
5708d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5708e0:	57                   	push   %edi
5708e1:	53                   	push   %ebx
5708e2:	e8 99 49 f7 ff       	call   0x4e5280
5708e7:	83 c4 08             	add    $0x8,%esp
5708ea:	8b 40 04             	mov    0x4(%eax),%eax
5708ed:	83 38 00             	cmpl   $0x0,(%eax)
5708f0:	0f 85 dc 00 00 00    	jne    0x5709d2
5708f6:	53                   	push   %ebx
5708f7:	47                   	inc    %edi
5708f8:	e8 c3 47 f7 ff       	call   0x4e50c0
5708fd:	83 c4 04             	add    $0x4,%esp
570900:	3b f8                	cmp    %eax,%edi
570902:	7c dc                	jl     0x5708e0
570904:	8b 7c 24 14          	mov    0x14(%esp),%edi
570908:	8b 6c 24 10          	mov    0x10(%esp),%ebp
57090c:	ff 74 24 2c          	push   0x2c(%esp)
570910:	45                   	inc    %ebp
570911:	89 6c 24 14          	mov    %ebp,0x14(%esp)
570915:	e8 a6 47 f7 ff       	call   0x4e50c0
57091a:	83 c4 04             	add    $0x4,%esp
57091d:	3b e8                	cmp    %eax,%ebp
57091f:	0f 8c 4b ff ff ff    	jl     0x570870
570925:	8b 6c 24 18          	mov    0x18(%esp),%ebp
570929:	8b 85 a8 00 00 00    	mov    0xa8(%ebp),%eax
57092f:	85 c0                	test   %eax,%eax
570931:	0f 84 08 ff ff ff    	je     0x57083f
570937:	50                   	push   %eax
570938:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
57093f:	00
570940:	e8 7b 47 f7 ff       	call   0x4e50c0
570945:	83 c4 04             	add    $0x4,%esp
570948:	85 c0                	test   %eax,%eax
57094a:	0f 8e ef fe ff ff    	jle    0x57083f
570950:	33 c9                	xor    %ecx,%ecx
570952:	51                   	push   %ecx
570953:	ff b5 a8 00 00 00    	push   0xa8(%ebp)
570959:	e8 22 49 f7 ff       	call   0x4e5280
57095e:	83 c4 08             	add    $0x8,%esp
570961:	8b 48 04             	mov    0x4(%eax),%ecx
570964:	83 39 00             	cmpl   $0x0,(%ecx)
570967:	75 3c                	jne    0x5709a5
570969:	50                   	push   %eax
57096a:	53                   	push   %ebx
57096b:	e8 20 45 f7 ff       	call   0x4e4e90
570970:	83 c4 08             	add    $0x8,%esp
570973:	85 c0                	test   %eax,%eax
570975:	78 2e                	js     0x5709a5
570977:	85 f6                	test   %esi,%esi
570979:	0f 84 be fe ff ff    	je     0x57083d
57097f:	8b 44 24 10          	mov    0x10(%esp),%eax
570983:	89 46 5c             	mov    %eax,0x5c(%esi)
570986:	8b 46 1c             	mov    0x1c(%esi),%eax
570989:	56                   	push   %esi
57098a:	6a 00                	push   $0x0
57098c:	c7 46 60 2e 00 00 00 	movl   $0x2e,0x60(%esi)
570993:	89 6e 64             	mov    %ebp,0x64(%esi)
570996:	ff d0                	call   *%eax
570998:	8b f8                	mov    %eax,%edi
57099a:	83 c4 08             	add    $0x8,%esp
57099d:	85 ff                	test   %edi,%edi
57099f:	0f 84 9a fe ff ff    	je     0x57083f
5709a5:	ff b5 a8 00 00 00    	push   0xa8(%ebp)
5709ab:	ff 44 24 30          	incl   0x30(%esp)
5709af:	e8 0c 47 f7 ff       	call   0x4e50c0
5709b4:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5709b8:	83 c4 04             	add    $0x4,%esp
5709bb:	3b c8                	cmp    %eax,%ecx
5709bd:	7c 93                	jl     0x570952
5709bf:	53                   	push   %ebx
5709c0:	e8 5b 45 f7 ff       	call   0x4e4f20
5709c5:	83 c4 04             	add    $0x4,%esp
5709c8:	8b c7                	mov    %edi,%eax
5709ca:	5f                   	pop    %edi
5709cb:	5e                   	pop    %esi
5709cc:	5d                   	pop    %ebp
5709cd:	5b                   	pop    %ebx
5709ce:	83 c4 14             	add    $0x14,%esp
5709d1:	c3                   	ret
5709d2:	85 f6                	test   %esi,%esi
5709d4:	0f 84 63 fe ff ff    	je     0x57083d
5709da:	8b 44 24 10          	mov    0x10(%esp),%eax
5709de:	89 46 5c             	mov    %eax,0x5c(%esi)
5709e1:	89 6e 64             	mov    %ebp,0x64(%esi)
5709e4:	8b 46 1c             	mov    0x1c(%esi),%eax
5709e7:	56                   	push   %esi
5709e8:	6a 00                	push   $0x0
5709ea:	c7 46 60 2e 00 00 00 	movl   $0x2e,0x60(%esi)
5709f1:	ff d0                	call   *%eax
5709f3:	8b f8                	mov    %eax,%edi
5709f5:	83 c4 08             	add    $0x8,%esp
5709f8:	89 7c 24 14          	mov    %edi,0x14(%esp)
5709fc:	85 ff                	test   %edi,%edi
5709fe:	0f 84 3b fe ff ff    	je     0x57083f
570a04:	e9 ff fe ff ff       	jmp    0x570908
570a09:	68 40 f6 56 00       	push   $0x56f640
570a0e:	50                   	push   %eax
570a0f:	e8 cc 47 f7 ff       	call   0x4e51e0
570a14:	53                   	push   %ebx
570a15:	33 ed                	xor    %ebp,%ebp
570a17:	e8 a4 46 f7 ff       	call   0x4e50c0
570a1c:	83 c4 0c             	add    $0xc,%esp
570a1f:	85 c0                	test   %eax,%eax
570a21:	0f 8e e1 fe ff ff    	jle    0x570908
570a27:	55                   	push   %ebp
570a28:	53                   	push   %ebx
570a29:	e8 52 48 f7 ff       	call   0x4e5280
570a2e:	8b f8                	mov    %eax,%edi
570a30:	8b 44 24 20          	mov    0x20(%esp),%eax
570a34:	57                   	push   %edi
570a35:	ff b0 a8 00 00 00    	push   0xa8(%eax)
570a3b:	e8 50 44 f7 ff       	call   0x4e4e90
570a40:	50                   	push   %eax
570a41:	8b 44 24 2c          	mov    0x2c(%esp),%eax
570a45:	ff b0 a8 00 00 00    	push   0xa8(%eax)
570a4b:	e8 30 48 f7 ff       	call   0x4e5280
570a50:	83 c4 18             	add    $0x18,%esp
570a53:	89 44 24 20          	mov    %eax,0x20(%esp)
570a57:	85 c0                	test   %eax,%eax
570a59:	75 27                	jne    0x570a82
570a5b:	8b 47 04             	mov    0x4(%edi),%eax
570a5e:	83 38 01             	cmpl   $0x1,(%eax)
570a61:	0f 85 ce 00 00 00    	jne    0x570b35