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
5729af:	ff 40 3c             	incl   0x3c(%eax)
5729b2:	8b 53 18             	mov    0x18(%ebx),%edx
5729b5:	8b 4a 18             	mov    0x18(%edx),%ecx
5729b8:	ff 42 18             	incl   0x18(%edx)
5729bb:	8a 43 1c             	mov    0x1c(%ebx),%al
5729be:	88 01                	mov    %al,(%ecx)
5729c0:	33 c9                	xor    %ecx,%ecx
5729c2:	8a c8                	mov    %al,%cl
5729c4:	eb 03                	jmp    0x5729c9
5729c6:	83 c9 ff             	or     $0xffffffff,%ecx
5729c9:	41                   	inc    %ecx
5729ca:	75 04                	jne    0x5729d0
5729cc:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5729d0:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5729d4:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5729d8:	8b 13                	mov    (%ebx),%edx
5729da:	c1 ea 14             	shr    $0x14,%edx
5729dd:	66 81 e2 ff 00       	and    $0xff,%dx
5729e2:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5729e6:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
5729ec:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
5729f3:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5729f7:	0f 84 5b fd ff ff    	je     0x572758
5729fd:	8b 43 20             	mov    0x20(%ebx),%eax
572a00:	85 c0                	test   %eax,%eax
572a02:	74 05                	je     0x572a09
572a04:	83 c8 ff             	or     $0xffffffff,%eax
572a07:	eb 02                	jmp    0x572a0b
572a09:	33 c0                	xor    %eax,%eax
572a0b:	5f                   	pop    %edi
572a0c:	5e                   	pop    %esi
572a0d:	5b                   	pop    %ebx
572a0e:	c3                   	ret
572a0f:	90                   	nop
572a10:	53                   	push   %ebx
572a11:	56                   	push   %esi
572a12:	57                   	push   %edi
572a13:	55                   	push   %ebp
572a14:	8b d8                	mov    %eax,%ebx
572a16:	83 ea 01             	sub    $0x1,%edx
572a19:	0f 82 65 05 00 00    	jb     0x572f84
572a1f:	0f 85 5d 0d 00 00    	jne    0x573782
572a25:	66 be 0b 00          	mov    $0xb,%si
572a29:	66 2b 73 08          	sub    0x8(%ebx),%si
572a2d:	46                   	inc    %esi
572a2e:	66 85 f6             	test   %si,%si
572a31:	0f 8e a5 02 00 00    	jle    0x572cdc
572a37:	8b 4b 08             	mov    0x8(%ebx),%ecx
572a3a:	33 c0                	xor    %eax,%eax
572a3c:	d3 23                	shll   %cl,(%ebx)
572a3e:	89 43 08             	mov    %eax,0x8(%ebx)
572a41:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
572a47:	0f 84 ee 01 00 00    	je     0x572c3b
572a4d:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572a51:	0f 84 4b 01 00 00    	je     0x572ba2
572a57:	66 ff 43 1c          	incw   0x1c(%ebx)
572a5b:	66 8b 53 1c          	mov    0x1c(%ebx),%dx
572a5f:	66 81 fa ff 00       	cmp    $0xff,%dx
572a64:	0f 85 9f 00 00 00    	jne    0x572b09
572a6a:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
572a70:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572a75:	7c 6a                	jl     0x572ae1
572a77:	8b 43 18             	mov    0x18(%ebx),%eax
572a7a:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572a7e:	75 57                	jne    0x572ad7
572a80:	8b 7b 18             	mov    0x18(%ebx),%edi
572a83:	8b 6f 40             	mov    0x40(%edi),%ebp
572a86:	85 ed                	test   %ebp,%ebp
572a88:	7c 13                	jl     0x572a9d
572a8a:	8b 47 3c             	mov    0x3c(%edi),%eax
572a8d:	3b e8                	cmp    %eax,%ebp
572a8f:	7f 0c                	jg     0x572a9d
572a91:	8b 53 18             	mov    0x18(%ebx),%edx
572a94:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572a98:	83 c9 ff             	or     $0xffffffff,%ecx
572a9b:	eb 3d                	jmp    0x572ada
572a9d:	8b 43 18             	mov    0x18(%ebx),%eax
572aa0:	83 48 04 20          	orl    $0x20,0x4(%eax)
572aa4:	8b 53 18             	mov    0x18(%ebx),%edx
572aa7:	ff 4a 1c             	decl   0x1c(%edx)
572aaa:	79 11                	jns    0x572abd
572aac:	33 d2                	xor    %edx,%edx
572aae:	8b 43 18             	mov    0x18(%ebx),%eax
572ab1:	8a 53 1c             	mov    0x1c(%ebx),%dl
572ab4:	e8 5f 63 00 00       	call   0x578e18
572ab9:	8b c8                	mov    %eax,%ecx
572abb:	eb 1d                	jmp    0x572ada
572abd:	8b 43 18             	mov    0x18(%ebx),%eax
572ac0:	ff 40 3c             	incl   0x3c(%eax)
572ac3:	8b 53 18             	mov    0x18(%ebx),%edx
572ac6:	8b 4a 18             	mov    0x18(%edx),%ecx
572ac9:	ff 42 18             	incl   0x18(%edx)
572acc:	8a 43 1c             	mov    0x1c(%ebx),%al
572acf:	88 01                	mov    %al,(%ecx)
572ad1:	33 c9                	xor    %ecx,%ecx
572ad3:	8a c8                	mov    %al,%cl
572ad5:	eb 03                	jmp    0x572ada
572ad7:	83 c9 ff             	or     $0xffffffff,%ecx
572ada:	41                   	inc    %ecx
572adb:	75 04                	jne    0x572ae1
572add:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572ae1:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572ae5:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572ae9:	8b 13                	mov    (%ebx),%edx
572aeb:	c1 ea 14             	shr    $0x14,%edx
572aee:	66 81 e2 ff 00       	and    $0xff,%dx
572af3:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572af7:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572afd:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572b04:	e9 c6 01 00 00       	jmp    0x572ccf
572b09:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572b0e:	7c 6a                	jl     0x572b7a
572b10:	8b 43 18             	mov    0x18(%ebx),%eax
572b13:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572b17:	75 57                	jne    0x572b70
572b19:	8b 7b 18             	mov    0x18(%ebx),%edi
572b1c:	8b 6f 40             	mov    0x40(%edi),%ebp
572b1f:	85 ed                	test   %ebp,%ebp
572b21:	7c 13                	jl     0x572b36
572b23:	8b 47 3c             	mov    0x3c(%edi),%eax
572b26:	3b e8                	cmp    %eax,%ebp
572b28:	7f 0c                	jg     0x572b36
572b2a:	8b 53 18             	mov    0x18(%ebx),%edx
572b2d:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572b31:	83 c9 ff             	or     $0xffffffff,%ecx
572b34:	eb 3d                	jmp    0x572b73
572b36:	8b 43 18             	mov    0x18(%ebx),%eax
572b39:	83 48 04 20          	orl    $0x20,0x4(%eax)
572b3d:	8b 53 18             	mov    0x18(%ebx),%edx
572b40:	ff 4a 1c             	decl   0x1c(%edx)
572b43:	79 11                	jns    0x572b56
572b45:	33 d2                	xor    %edx,%edx
572b47:	8b 43 18             	mov    0x18(%ebx),%eax
572b4a:	8a 53 1c             	mov    0x1c(%ebx),%dl
572b4d:	e8 c6 62 00 00       	call   0x578e18
572b52:	8b c8                	mov    %eax,%ecx
572b54:	eb 1d                	jmp    0x572b73
572b56:	8b 43 18             	mov    0x18(%ebx),%eax
572b59:	ff 40 3c             	incl   0x3c(%eax)
572b5c:	8b 53 18             	mov    0x18(%ebx),%edx
572b5f:	8b 4a 18             	mov    0x18(%edx),%ecx
572b62:	ff 42 18             	incl   0x18(%edx)
572b65:	8a 43 1c             	mov    0x1c(%ebx),%al
572b68:	88 01                	mov    %al,(%ecx)
572b6a:	33 c9                	xor    %ecx,%ecx
572b6c:	8a c8                	mov    %al,%cl
572b6e:	eb 03                	jmp    0x572b73
572b70:	83 c9 ff             	or     $0xffffffff,%ecx
572b73:	41                   	inc    %ecx
572b74:	75 04                	jne    0x572b7a
572b76:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572b7a:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572b7e:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572b82:	8b 13                	mov    (%ebx),%edx
572b84:	c1 ea 13             	shr    $0x13,%edx
572b87:	66 81 e2 ff 00       	and    $0xff,%dx
572b8c:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572b90:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
572b96:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572b9d:	e9 2d 01 00 00       	jmp    0x572ccf
572ba2:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572ba7:	7c 6a                	jl     0x572c13
572ba9:	8b 43 18             	mov    0x18(%ebx),%eax
572bac:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572bb0:	75 57                	jne    0x572c09
572bb2:	8b 7b 18             	mov    0x18(%ebx),%edi
572bb5:	8b 6f 40             	mov    0x40(%edi),%ebp
572bb8:	85 ed                	test   %ebp,%ebp
572bba:	7c 13                	jl     0x572bcf
572bbc:	8b 47 3c             	mov    0x3c(%edi),%eax
572bbf:	3b e8                	cmp    %eax,%ebp
572bc1:	7f 0c                	jg     0x572bcf
572bc3:	8b 53 18             	mov    0x18(%ebx),%edx
572bc6:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572bca:	83 c9 ff             	or     $0xffffffff,%ecx