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
570a67:	85 f6                	test   %esi,%esi
570a69:	0f 84 ce fd ff ff    	je     0x57083d
570a6f:	8b 44 24 10          	mov    0x10(%esp),%eax
570a73:	89 46 5c             	mov    %eax,0x5c(%esi)
570a76:	8b 44 24 18          	mov    0x18(%esp),%eax
570a7a:	89 46 64             	mov    %eax,0x64(%esi)
570a7d:	e9 62 ff ff ff       	jmp    0x5709e4
570a82:	8b 48 04             	mov    0x4(%eax),%ecx
570a85:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
570a89:	83 39 01             	cmpl   $0x1,(%ecx)
570a8c:	0f 85 a3 00 00 00    	jne    0x570b35
570a92:	8b 4f 04             	mov    0x4(%edi),%ecx
570a95:	83 39 00             	cmpl   $0x0,(%ecx)
570a98:	0f 84 8c 00 00 00    	je     0x570b2a
570a9e:	8b 07                	mov    (%edi),%eax
570aa0:	85 c0                	test   %eax,%eax
570aa2:	74 2e                	je     0x570ad2
570aa4:	8b 50 08             	mov    0x8(%eax),%edx
570aa7:	85 d2                	test   %edx,%edx
570aa9:	74 27                	je     0x570ad2
570aab:	83 38 02             	cmpl   $0x2,(%eax)
570aae:	7c 22                	jl     0x570ad2
570ab0:	0f b6 02             	movzbl (%edx),%eax
570ab3:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
570ab7:	c1 e0 08             	shl    $0x8,%eax
570aba:	0b c8                	or     %eax,%ecx
570abc:	83 e9 01             	sub    $0x1,%ecx
570abf:	74 0a                	je     0x570acb
570ac1:	83 e9 01             	sub    $0x1,%ecx
570ac4:	75 0c                	jne    0x570ad2
570ac6:	8d 41 10             	lea    0x10(%ecx),%eax
570ac9:	eb 09                	jmp    0x570ad4
570acb:	b8 04 00 00 00       	mov    $0x4,%eax
570ad0:	eb 02                	jmp    0x570ad4
570ad2:	33 c0                	xor    %eax,%eax
570ad4:	50                   	push   %eax
570ad5:	8b 47 04             	mov    0x4(%edi),%eax
570ad8:	ff 70 04             	push   0x4(%eax)
570adb:	8b 44 24 24          	mov    0x24(%esp),%eax
570adf:	ff 70 04             	push   0x4(%eax)
570ae2:	e8 f9 f8 ff ff       	call   0x5703e0
570ae7:	83 c4 0c             	add    $0xc,%esp
570aea:	85 c0                	test   %eax,%eax
570aec:	75 38                	jne    0x570b26
570aee:	85 f6                	test   %esi,%esi
570af0:	0f 84 47 fd ff ff    	je     0x57083d
570af6:	8b 44 24 10          	mov    0x10(%esp),%eax
570afa:	89 46 5c             	mov    %eax,0x5c(%esi)
570afd:	8b 44 24 18          	mov    0x18(%esp),%eax
570b01:	89 46 64             	mov    %eax,0x64(%esi)
570b04:	8b 46 1c             	mov    0x1c(%esi),%eax
570b07:	56                   	push   %esi
570b08:	6a 00                	push   $0x0
570b0a:	c7 46 60 2e 00 00 00 	movl   $0x2e,0x60(%esi)
570b11:	ff d0                	call   *%eax
570b13:	8b f8                	mov    %eax,%edi
570b15:	83 c4 08             	add    $0x8,%esp
570b18:	89 7c 24 14          	mov    %edi,0x14(%esp)
570b1c:	85 ff                	test   %edi,%edi
570b1e:	0f 84 1b fd ff ff    	je     0x57083f
570b24:	eb 0f                	jmp    0x570b35
570b26:	8b 44 24 20          	mov    0x20(%esp),%eax
570b2a:	50                   	push   %eax
570b2b:	55                   	push   %ebp
570b2c:	53                   	push   %ebx
570b2d:	e8 6e 46 f7 ff       	call   0x4e51a0
570b32:	83 c4 0c             	add    $0xc,%esp
570b35:	53                   	push   %ebx
570b36:	45                   	inc    %ebp
570b37:	e8 84 45 f7 ff       	call   0x4e50c0
570b3c:	83 c4 04             	add    $0x4,%esp
570b3f:	3b e8                	cmp    %eax,%ebp
570b41:	0f 8c e0 fe ff ff    	jl     0x570a27
570b47:	e9 b8 fd ff ff       	jmp    0x570904
570b4c:	8b 74 24 28          	mov    0x28(%esp),%esi
570b50:	85 f6                	test   %esi,%esi
570b52:	74 03                	je     0x570b57
570b54:	89 7e 60             	mov    %edi,0x60(%esi)
570b57:	5f                   	pop    %edi
570b58:	5e                   	pop    %esi
570b59:	5d                   	pop    %ebp
570b5a:	33 c0                	xor    %eax,%eax
570b5c:	5b                   	pop    %ebx
570b5d:	83 c4 14             	add    $0x14,%esp
570b60:	c3                   	ret
570b61:	cc                   	int3
570b62:	cc                   	int3
570b63:	cc                   	int3
570b64:	cc                   	int3
570b65:	cc                   	int3
570b66:	cc                   	int3
570b67:	cc                   	int3
570b68:	cc                   	int3
570b69:	cc                   	int3
570b6a:	cc                   	int3
570b6b:	cc                   	int3
570b6c:	cc                   	int3
570b6d:	cc                   	int3
570b6e:	cc                   	int3
570b6f:	cc                   	int3
570b70:	b8 14 00 00 00       	mov    $0x14,%eax
570b75:	e8 36 0c 06 00       	call   0x5d17b0
570b7a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
570b7f:	33 c4                	xor    %esp,%eax
570b81:	89 44 24 10          	mov    %eax,0x10(%esp)
570b85:	53                   	push   %ebx
570b86:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
570b8a:	55                   	push   %ebp
570b8b:	56                   	push   %esi
570b8c:	57                   	push   %edi
570b8d:	8b 7c 24 34          	mov    0x34(%esp),%edi
570b91:	8b 0f                	mov    (%edi),%ecx
570b93:	85 c9                	test   %ecx,%ecx
570b95:	0f 88 87 01 00 00    	js     0x570d22
570b9b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
570b9f:	83 e8 01             	sub    $0x1,%eax
570ba2:	0f 84 24 01 00 00    	je     0x570ccc
570ba8:	83 e8 01             	sub    $0x1,%eax
570bab:	74 66                	je     0x570c13
570bad:	33 f6                	xor    %esi,%esi
570baf:	85 c9                	test   %ecx,%ecx
570bb1:	7e 33                	jle    0x570be6
570bb3:	bd 64 25 60 00       	mov    $0x602564,%ebp
570bb8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
570bbf:	00
570bc0:	8b 47 08             	mov    0x8(%edi),%eax
570bc3:	85 f6                	test   %esi,%esi
570bc5:	0f b6 04 06          	movzbl (%esi,%eax,1),%eax
570bc9:	50                   	push   %eax
570bca:	b8 5c c0 60 00       	mov    $0x60c05c,%eax
570bcf:	0f 4e c5             	cmovle %ebp,%eax
570bd2:	50                   	push   %eax
570bd3:	68 c0 99 65 00       	push   $0x6599c0
570bd8:	53                   	push   %ebx
570bd9:	e8 62 19 f7 ff       	call   0x4e2540
570bde:	46                   	inc    %esi
570bdf:	83 c4 10             	add    $0x10,%esp
570be2:	3b 37                	cmp    (%edi),%esi
570be4:	7c da                	jl     0x570bc0
570be6:	8b 47 0c             	mov    0xc(%edi),%eax
570be9:	83 e0 07             	and    $0x7,%eax
570bec:	50                   	push   %eax
570bed:	68 c8 99 65 00       	push   $0x6599c8
570bf2:	53                   	push   %ebx
570bf3:	e8 48 19 f7 ff       	call   0x4e2540
570bf8:	83 c4 0c             	add    $0xc,%esp
570bfb:	b8 01 00 00 00       	mov    $0x1,%eax
570c00:	5f                   	pop    %edi
570c01:	5e                   	pop    %esi
570c02:	5d                   	pop    %ebp
570c03:	5b                   	pop    %ebx
570c04:	8b 4c 24 10          	mov    0x10(%esp),%ecx
570c08:	33 cc                	xor    %esp,%ecx
570c0a:	e8 17 0e 06 00       	call   0x5d1a26
570c0f:	83 c4 14             	add    $0x14,%esp
570c12:	c3                   	ret
570c13:	ff 74 24 30          	push   0x30(%esp)
570c17:	8d 44 24 14          	lea    0x14(%esp),%eax
570c1b:	6a 10                	push   $0x10
570c1d:	57                   	push   %edi
570c1e:	50                   	push   %eax
570c1f:	e8 8c fa ff ff       	call   0x5706b0
570c24:	83 c4 10             	add    $0x10,%esp
570c27:	85 c0                	test   %eax,%eax
570c29:	0f 84 f3 00 00 00    	je     0x570d22
570c2f:	be 10 00 00 00       	mov    $0x10,%esi
570c34:	8d 44 24 1e          	lea    0x1e(%esp),%eax
570c38:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
570c3c:	75 10                	jne    0x570c4e
570c3e:	80 38 00             	cmpb   $0x0,(%eax)
570c41:	75 0b                	jne    0x570c4e
570c43:	83 ee 02             	sub    $0x2,%esi
570c46:	83 e8 02             	sub    $0x2,%eax
570c49:	83 fe 01             	cmp    $0x1,%esi
570c4c:	7f ea                	jg     0x570c38