57258b:	e8 88 68 00 00       	call   0x578e18
572590:	8b c8                	mov    %eax,%ecx
572592:	eb 1d                	jmp    0x5725b1
572594:	8b 43 18             	mov    0x18(%ebx),%eax
572597:	ff 40 3c             	incl   0x3c(%eax)
57259a:	8b 53 18             	mov    0x18(%ebx),%edx
57259d:	8b 4a 18             	mov    0x18(%edx),%ecx
5725a0:	ff 42 18             	incl   0x18(%edx)
5725a3:	8a 43 1c             	mov    0x1c(%ebx),%al
5725a6:	88 01                	mov    %al,(%ecx)
5725a8:	33 c9                	xor    %ecx,%ecx
5725aa:	8a c8                	mov    %al,%cl
5725ac:	eb 03                	jmp    0x5725b1
5725ae:	83 c9 ff             	or     $0xffffffff,%ecx
5725b1:	41                   	inc    %ecx
5725b2:	75 04                	jne    0x5725b8
5725b4:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5725b8:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5725bc:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5725c0:	8b 13                	mov    (%ebx),%edx
5725c2:	c1 ea 13             	shr    $0x13,%edx
5725c5:	66 81 e2 ff 00       	and    $0xff,%dx
5725ca:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5725ce:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
5725d4:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5725db:	e9 2d 01 00 00       	jmp    0x57270d
5725e0:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5725e5:	7c 6a                	jl     0x572651
5725e7:	8b 43 18             	mov    0x18(%ebx),%eax
5725ea:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5725ee:	75 57                	jne    0x572647
5725f0:	8b 73 18             	mov    0x18(%ebx),%esi
5725f3:	8b 7e 40             	mov    0x40(%esi),%edi
5725f6:	85 ff                	test   %edi,%edi
5725f8:	7c 13                	jl     0x57260d
5725fa:	8b 46 3c             	mov    0x3c(%esi),%eax
5725fd:	3b f8                	cmp    %eax,%edi
5725ff:	7f 0c                	jg     0x57260d
572601:	8b 53 18             	mov    0x18(%ebx),%edx
572604:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572608:	83 c9 ff             	or     $0xffffffff,%ecx
57260b:	eb 3d                	jmp    0x57264a
57260d:	8b 43 18             	mov    0x18(%ebx),%eax
572610:	83 48 04 20          	orl    $0x20,0x4(%eax)
572614:	8b 53 18             	mov    0x18(%ebx),%edx
572617:	ff 4a 1c             	decl   0x1c(%edx)
57261a:	79 11                	jns    0x57262d
57261c:	33 d2                	xor    %edx,%edx
57261e:	8b 43 18             	mov    0x18(%ebx),%eax
572621:	8a 53 1c             	mov    0x1c(%ebx),%dl
572624:	e8 ef 67 00 00       	call   0x578e18
572629:	8b c8                	mov    %eax,%ecx
57262b:	eb 1d                	jmp    0x57264a
57262d:	8b 43 18             	mov    0x18(%ebx),%eax
572630:	ff 40 3c             	incl   0x3c(%eax)
572633:	8b 53 18             	mov    0x18(%ebx),%edx
572636:	8b 4a 18             	mov    0x18(%edx),%ecx
572639:	ff 42 18             	incl   0x18(%edx)
57263c:	8a 43 1c             	mov    0x1c(%ebx),%al
57263f:	88 01                	mov    %al,(%ecx)
572641:	33 c9                	xor    %ecx,%ecx
572643:	8a c8                	mov    %al,%cl
572645:	eb 03                	jmp    0x57264a
572647:	83 c9 ff             	or     $0xffffffff,%ecx
57264a:	41                   	inc    %ecx
57264b:	75 04                	jne    0x572651
57264d:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572651:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572655:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572659:	8b 13                	mov    (%ebx),%edx
57265b:	c1 ea 13             	shr    $0x13,%edx
57265e:	66 81 e2 ff 00       	and    $0xff,%dx
572663:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572667:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
57266d:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572674:	e9 94 00 00 00       	jmp    0x57270d
572679:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57267e:	7c 6a                	jl     0x5726ea
572680:	8b 43 18             	mov    0x18(%ebx),%eax
572683:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572687:	75 57                	jne    0x5726e0
572689:	8b 73 18             	mov    0x18(%ebx),%esi
57268c:	8b 7e 40             	mov    0x40(%esi),%edi
57268f:	85 ff                	test   %edi,%edi
572691:	7c 13                	jl     0x5726a6
572693:	8b 46 3c             	mov    0x3c(%esi),%eax
572696:	3b f8                	cmp    %eax,%edi
572698:	7f 0c                	jg     0x5726a6
57269a:	8b 53 18             	mov    0x18(%ebx),%edx
57269d:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5726a1:	83 c9 ff             	or     $0xffffffff,%ecx
5726a4:	eb 3d                	jmp    0x5726e3
5726a6:	8b 43 18             	mov    0x18(%ebx),%eax
5726a9:	83 48 04 20          	orl    $0x20,0x4(%eax)
5726ad:	8b 53 18             	mov    0x18(%ebx),%edx
5726b0:	ff 4a 1c             	decl   0x1c(%edx)
5726b3:	79 11                	jns    0x5726c6
5726b5:	33 d2                	xor    %edx,%edx
5726b7:	8b 43 18             	mov    0x18(%ebx),%eax
5726ba:	8a 53 1c             	mov    0x1c(%ebx),%dl
5726bd:	e8 56 67 00 00       	call   0x578e18
5726c2:	8b c8                	mov    %eax,%ecx
5726c4:	eb 1d                	jmp    0x5726e3
5726c6:	8b 43 18             	mov    0x18(%ebx),%eax
5726c9:	ff 40 3c             	incl   0x3c(%eax)
5726cc:	8b 53 18             	mov    0x18(%ebx),%edx
5726cf:	8b 4a 18             	mov    0x18(%edx),%ecx
5726d2:	ff 42 18             	incl   0x18(%edx)
5726d5:	8a 43 1c             	mov    0x1c(%ebx),%al
5726d8:	88 01                	mov    %al,(%ecx)
5726da:	33 c9                	xor    %ecx,%ecx
5726dc:	8a c8                	mov    %al,%cl
5726de:	eb 03                	jmp    0x5726e3
5726e0:	83 c9 ff             	or     $0xffffffff,%ecx
5726e3:	41                   	inc    %ecx
5726e4:	75 04                	jne    0x5726ea
5726e6:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5726ea:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5726ee:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5726f2:	8b 13                	mov    (%ebx),%edx
5726f4:	c1 ea 14             	shr    $0x14,%edx
5726f7:	66 81 e2 ff 00       	and    $0xff,%dx
5726fc:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572700:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572706:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
57270d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
572711:	0f 84 5b fd ff ff    	je     0x572472
572717:	8b 43 20             	mov    0x20(%ebx),%eax
57271a:	85 c0                	test   %eax,%eax
57271c:	74 05                	je     0x572723
57271e:	83 c8 ff             	or     $0xffffffff,%eax
572721:	eb 02                	jmp    0x572725
572723:	33 c0                	xor    %eax,%eax
572725:	5f                   	pop    %edi
572726:	5e                   	pop    %esi
572727:	5b                   	pop    %ebx
572728:	c3                   	ret
572729:	90                   	nop
57272a:	90                   	nop
57272b:	90                   	nop
57272c:	53                   	push   %ebx
57272d:	56                   	push   %esi
57272e:	57                   	push   %edi
57272f:	8b d8                	mov    %eax,%ebx
572731:	8b 43 14             	mov    0x14(%ebx),%eax
572734:	8b 00                	mov    (%eax),%eax
572736:	0f b7 10             	movzwl (%eax),%edx
572739:	29 53 04             	sub    %edx,0x4(%ebx)
57273c:	0f b7 10             	movzwl (%eax),%edx
57273f:	8b 4b 04             	mov    0x4(%ebx),%ecx
572742:	3b d1                	cmp    %ecx,%edx
572744:	76 04                	jbe    0x57274a
572746:	01 13                	add    %edx,(%ebx)
572748:	eb 06                	jmp    0x572750
57274a:	0f b7 10             	movzwl (%eax),%edx
57274d:	89 53 04             	mov    %edx,0x4(%ebx)
572750:	8b 4b 14             	mov    0x14(%ebx),%ecx
572753:	8b 40 08             	mov    0x8(%eax),%eax
572756:	89 01                	mov    %eax,(%ecx)
572758:	d1 63 04             	shll   $1,0x4(%ebx)
57275b:	d1 23                	shll   $1,(%ebx)
57275d:	ff 4b 08             	decl   0x8(%ebx)
572760:	0f 85 8d 02 00 00    	jne    0x5729f3
572766:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
57276c:	0f 84 ed 01 00 00    	je     0x57295f
572772:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572776:	0f 84 4a 01 00 00    	je     0x5728c6
57277c:	66 ff 43 1c          	incw   0x1c(%ebx)
572780:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572784:	66 3d ff 00          	cmp    $0xff,%ax
572788:	0f 85 9f 00 00 00    	jne    0x57282d
57278e:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
572794:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572799:	7c 6a                	jl     0x572805
57279b:	8b 53 18             	mov    0x18(%ebx),%edx
57279e:	f6 42 08 07          	testb  $0x7,0x8(%edx)
5727a2:	75 57                	jne    0x5727fb
5727a4:	8b 73 18             	mov    0x18(%ebx),%esi
5727a7:	8b 7e 40             	mov    0x40(%esi),%edi
5727aa:	85 ff                	test   %edi,%edi
5727ac:	7c 13                	jl     0x5727c1
5727ae:	8b 46 3c             	mov    0x3c(%esi),%eax
5727b1:	3b f8                	cmp    %eax,%edi
5727b3:	7f 0c                	jg     0x5727c1
5727b5:	8b 53 18             	mov    0x18(%ebx),%edx
5727b8:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5727bc:	83 c9 ff             	or     $0xffffffff,%ecx
5727bf:	eb 3d                	jmp    0x5727fe
5727c1:	8b 43 18             	mov    0x18(%ebx),%eax
5727c4:	83 48 04 20          	orl    $0x20,0x4(%eax)
5727c8:	8b 53 18             	mov    0x18(%ebx),%edx
5727cb:	ff 4a 1c             	decl   0x1c(%edx)
5727ce:	79 11                	jns    0x5727e1
5727d0:	33 d2                	xor    %edx,%edx
5727d2:	8b 43 18             	mov    0x18(%ebx),%eax
5727d5:	8a 53 1c             	mov    0x1c(%ebx),%dl
5727d8:	e8 3b 66 00 00       	call   0x578e18
5727dd:	8b c8                	mov    %eax,%ecx
5727df:	eb 1d                	jmp    0x5727fe
5727e1:	8b 43 18             	mov    0x18(%ebx),%eax
5727e4:	ff 40 3c             	incl   0x3c(%eax)
5727e7:	8b 53 18             	mov    0x18(%ebx),%edx
5727ea:	8b 4a 18             	mov    0x18(%edx),%ecx
5727ed:	ff 42 18             	incl   0x18(%edx)
5727f0:	8a 43 1c             	mov    0x1c(%ebx),%al
5727f3:	88 01                	mov    %al,(%ecx)
5727f5:	33 c9                	xor    %ecx,%ecx
5727f7:	8a c8                	mov    %al,%cl
5727f9:	eb 03                	jmp    0x5727fe
5727fb:	83 c9 ff             	or     $0xffffffff,%ecx
5727fe:	41                   	inc    %ecx
5727ff:	75 04                	jne    0x572805
572801:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572805:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572809:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
57280d:	8b 13                	mov    (%ebx),%edx
57280f:	c1 ea 14             	shr    $0x14,%edx
572812:	66 81 e2 ff 00       	and    $0xff,%dx
572817:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
57281b:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572821:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572828:	e9 c6 01 00 00       	jmp    0x5729f3
57282d:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572832:	7c 6a                	jl     0x57289e
572834:	8b 43 18             	mov    0x18(%ebx),%eax
572837:	f6 40 08 07          	testb  $0x7,0x8(%eax)
57283b:	75 57                	jne    0x572894
57283d:	8b 73 18             	mov    0x18(%ebx),%esi
572840:	8b 7e 40             	mov    0x40(%esi),%edi
572843:	85 ff                	test   %edi,%edi
572845:	7c 13                	jl     0x57285a
572847:	8b 46 3c             	mov    0x3c(%esi),%eax
57284a:	3b f8                	cmp    %eax,%edi
57284c:	7f 0c                	jg     0x57285a
57284e:	8b 53 18             	mov    0x18(%ebx),%edx
572851:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572855:	83 c9 ff             	or     $0xffffffff,%ecx
572858:	eb 3d                	jmp    0x572897
57285a:	8b 43 18             	mov    0x18(%ebx),%eax
57285d:	83 48 04 20          	orl    $0x20,0x4(%eax)
572861:	8b 53 18             	mov    0x18(%ebx),%edx
572864:	ff 4a 1c             	decl   0x1c(%edx)
572867:	79 11                	jns    0x57287a
572869:	33 d2                	xor    %edx,%edx
57286b:	8b 43 18             	mov    0x18(%ebx),%eax
57286e:	8a 53 1c             	mov    0x1c(%ebx),%dl
572871:	e8 a2 65 00 00       	call   0x578e18
572876:	8b c8                	mov    %eax,%ecx
572878:	eb 1d                	jmp    0x572897
57287a:	8b 43 18             	mov    0x18(%ebx),%eax
57287d:	ff 40 3c             	incl   0x3c(%eax)
572880:	8b 53 18             	mov    0x18(%ebx),%edx
572883:	8b 4a 18             	mov    0x18(%edx),%ecx
572886:	ff 42 18             	incl   0x18(%edx)
572889:	8a 43 1c             	mov    0x1c(%ebx),%al
57288c:	88 01                	mov    %al,(%ecx)
57288e:	33 c9                	xor    %ecx,%ecx
572890:	8a c8                	mov    %al,%cl
572892:	eb 03                	jmp    0x572897
572894:	83 c9 ff             	or     $0xffffffff,%ecx
572897:	41                   	inc    %ecx
572898:	75 04                	jne    0x57289e
57289a:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57289e:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5728a2:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5728a6:	8b 13                	mov    (%ebx),%edx
5728a8:	c1 ea 13             	shr    $0x13,%edx
5728ab:	66 81 e2 ff 00       	and    $0xff,%dx
5728b0:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5728b4:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
5728ba:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5728c1:	e9 2d 01 00 00       	jmp    0x5729f3
5728c6:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5728cb:	7c 6a                	jl     0x572937
5728cd:	8b 43 18             	mov    0x18(%ebx),%eax
5728d0:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5728d4:	75 57                	jne    0x57292d
5728d6:	8b 73 18             	mov    0x18(%ebx),%esi
5728d9:	8b 7e 40             	mov    0x40(%esi),%edi
5728dc:	85 ff                	test   %edi,%edi
5728de:	7c 13                	jl     0x5728f3
5728e0:	8b 46 3c             	mov    0x3c(%esi),%eax
5728e3:	3b f8                	cmp    %eax,%edi
5728e5:	7f 0c                	jg     0x5728f3
5728e7:	8b 53 18             	mov    0x18(%ebx),%edx
5728ea:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5728ee:	83 c9 ff             	or     $0xffffffff,%ecx
5728f1:	eb 3d                	jmp    0x572930
5728f3:	8b 43 18             	mov    0x18(%ebx),%eax
5728f6:	83 48 04 20          	orl    $0x20,0x4(%eax)
5728fa:	8b 53 18             	mov    0x18(%ebx),%edx
5728fd:	ff 4a 1c             	decl   0x1c(%edx)
572900:	79 11                	jns    0x572913
572902:	33 d2                	xor    %edx,%edx
572904:	8b 43 18             	mov    0x18(%ebx),%eax
572907:	8a 53 1c             	mov    0x1c(%ebx),%dl
57290a:	e8 09 65 00 00       	call   0x578e18
57290f:	8b c8                	mov    %eax,%ecx
572911:	eb 1d                	jmp    0x572930
572913:	8b 43 18             	mov    0x18(%ebx),%eax
572916:	ff 40 3c             	incl   0x3c(%eax)
572919:	8b 53 18             	mov    0x18(%ebx),%edx
57291c:	8b 4a 18             	mov    0x18(%edx),%ecx
57291f:	ff 42 18             	incl   0x18(%edx)
572922:	8a 43 1c             	mov    0x1c(%ebx),%al
572925:	88 01                	mov    %al,(%ecx)
572927:	33 c9                	xor    %ecx,%ecx
572929:	8a c8                	mov    %al,%cl
57292b:	eb 03                	jmp    0x572930
57292d:	83 c9 ff             	or     $0xffffffff,%ecx
572930:	41                   	inc    %ecx
572931:	75 04                	jne    0x572937
572933:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572937:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57293b:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
57293f:	8b 13                	mov    (%ebx),%edx
572941:	c1 ea 13             	shr    $0x13,%edx
572944:	66 81 e2 ff 00       	and    $0xff,%dx
572949:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
57294d:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
572953:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
57295a:	e9 94 00 00 00       	jmp    0x5729f3
57295f:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572964:	7c 6a                	jl     0x5729d0
572966:	8b 43 18             	mov    0x18(%ebx),%eax
572969:	f6 40 08 07          	testb  $0x7,0x8(%eax)
57296d:	75 57                	jne    0x5729c6
57296f:	8b 73 18             	mov    0x18(%ebx),%esi
572972:	8b 7e 40             	mov    0x40(%esi),%edi
572975:	85 ff                	test   %edi,%edi
572977:	7c 13                	jl     0x57298c
572979:	8b 46 3c             	mov    0x3c(%esi),%eax
57297c:	3b f8                	cmp    %eax,%edi
57297e:	7f 0c                	jg     0x57298c
572980:	8b 53 18             	mov    0x18(%ebx),%edx
572983:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572987:	83 c9 ff             	or     $0xffffffff,%ecx
57298a:	eb 3d                	jmp    0x5729c9
57298c:	8b 43 18             	mov    0x18(%ebx),%eax
57298f:	83 48 04 20          	orl    $0x20,0x4(%eax)
572993:	8b 53 18             	mov    0x18(%ebx),%edx
572996:	ff 4a 1c             	decl   0x1c(%edx)
572999:	79 11                	jns    0x5729ac
57299b:	33 d2                	xor    %edx,%edx
57299d:	8b 43 18             	mov    0x18(%ebx),%eax
5729a0:	8a 53 1c             	mov    0x1c(%ebx),%dl
5729a3:	e8 70 64 00 00       	call   0x578e18
5729a8:	8b c8                	mov    %eax,%ecx
5729aa:	eb 1d                	jmp    0x5729c9
5729ac:	8b 43 18             	mov    0x18(%ebx),%eax