57368f:	33 d2                	xor    %edx,%edx
573691:	8b 43 18             	mov    0x18(%ebx),%eax
573694:	8a 53 1c             	mov    0x1c(%ebx),%dl
573697:	e8 7c 57 00 00       	call   0x578e18
57369c:	8b c8                	mov    %eax,%ecx
57369e:	eb 1d                	jmp    0x5736bd
5736a0:	8b 43 18             	mov    0x18(%ebx),%eax
5736a3:	ff 40 3c             	incl   0x3c(%eax)
5736a6:	8b 53 18             	mov    0x18(%ebx),%edx
5736a9:	8b 4a 18             	mov    0x18(%edx),%ecx
5736ac:	ff 42 18             	incl   0x18(%edx)
5736af:	8a 43 1c             	mov    0x1c(%ebx),%al
5736b2:	88 01                	mov    %al,(%ecx)
5736b4:	33 c9                	xor    %ecx,%ecx
5736b6:	8a c8                	mov    %al,%cl
5736b8:	eb 03                	jmp    0x5736bd
5736ba:	83 c9 ff             	or     $0xffffffff,%ecx
5736bd:	41                   	inc    %ecx
5736be:	75 04                	jne    0x5736c4
5736c0:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5736c4:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5736c8:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5736cc:	8b 13                	mov    (%ebx),%edx
5736ce:	c1 ea 13             	shr    $0x13,%edx
5736d1:	66 81 e2 ff 00       	and    $0xff,%dx
5736d6:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5736da:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
5736e0:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5736e7:	e9 9b 00 00 00       	jmp    0x573787
5736ec:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5736f1:	7c 6a                	jl     0x57375d
5736f3:	8b 43 18             	mov    0x18(%ebx),%eax
5736f6:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5736fa:	75 57                	jne    0x573753
5736fc:	8b 73 18             	mov    0x18(%ebx),%esi
5736ff:	8b 7e 40             	mov    0x40(%esi),%edi
573702:	85 ff                	test   %edi,%edi
573704:	7c 13                	jl     0x573719
573706:	8b 46 3c             	mov    0x3c(%esi),%eax
573709:	3b f8                	cmp    %eax,%edi
57370b:	7f 0c                	jg     0x573719
57370d:	8b 53 18             	mov    0x18(%ebx),%edx
573710:	83 4a 08 04          	orl    $0x4,0x8(%edx)
573714:	83 c9 ff             	or     $0xffffffff,%ecx
573717:	eb 3d                	jmp    0x573756
573719:	8b 43 18             	mov    0x18(%ebx),%eax
57371c:	83 48 04 20          	orl    $0x20,0x4(%eax)
573720:	8b 53 18             	mov    0x18(%ebx),%edx
573723:	ff 4a 1c             	decl   0x1c(%edx)
573726:	79 11                	jns    0x573739
573728:	33 d2                	xor    %edx,%edx
57372a:	8b 43 18             	mov    0x18(%ebx),%eax
57372d:	8a 53 1c             	mov    0x1c(%ebx),%dl
573730:	e8 e3 56 00 00       	call   0x578e18
573735:	8b c8                	mov    %eax,%ecx
573737:	eb 1d                	jmp    0x573756
573739:	8b 43 18             	mov    0x18(%ebx),%eax
57373c:	ff 40 3c             	incl   0x3c(%eax)
57373f:	8b 53 18             	mov    0x18(%ebx),%edx
573742:	8b 4a 18             	mov    0x18(%edx),%ecx
573745:	ff 42 18             	incl   0x18(%edx)
573748:	8a 43 1c             	mov    0x1c(%ebx),%al
57374b:	88 01                	mov    %al,(%ecx)
57374d:	33 c9                	xor    %ecx,%ecx
57374f:	8a c8                	mov    %al,%cl
573751:	eb 03                	jmp    0x573756
573753:	83 c9 ff             	or     $0xffffffff,%ecx
573756:	41                   	inc    %ecx
573757:	75 04                	jne    0x57375d
573759:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57375d:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
573761:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
573765:	8b 13                	mov    (%ebx),%edx
573767:	c1 ea 14             	shr    $0x14,%edx
57376a:	66 81 e2 ff 00       	and    $0xff,%dx
57376f:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
573773:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
573779:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
573780:	eb 05                	jmp    0x573787
573782:	e8 c1 73 fe ff       	call   0x55ab48
573787:	33 c0                	xor    %eax,%eax
573789:	5d                   	pop    %ebp
57378a:	5f                   	pop    %edi
57378b:	5e                   	pop    %esi
57378c:	5b                   	pop    %ebx
57378d:	c3                   	ret
57378e:	90                   	nop
57378f:	90                   	nop
573790:	8b 10                	mov    (%eax),%edx
573792:	8b 48 04             	mov    0x4(%eax),%ecx
573795:	03 d1                	add    %ecx,%edx
573797:	81 08 ff ff 00 00    	orl    $0xffff,(%eax)
57379d:	8b 08                	mov    (%eax),%ecx
57379f:	3b d1                	cmp    %ecx,%edx
5737a1:	77 06                	ja     0x5737a9
5737a3:	81 28 00 80 00 00    	subl   $0x8000,(%eax)
5737a9:	c3                   	ret
5737aa:	90                   	nop
5737ab:	90                   	nop
5737ac:	53                   	push   %ebx
5737ad:	8b d8                	mov    %eax,%ebx
5737af:	56                   	push   %esi
5737b0:	8b f2                	mov    %edx,%esi
5737b2:	8b 43 08             	mov    0x8(%ebx),%eax
5737b5:	50                   	push   %eax
5737b6:	8b 13                	mov    (%ebx),%edx
5737b8:	52                   	push   %edx
5737b9:	8b 4b 04             	mov    0x4(%ebx),%ecx
5737bc:	51                   	push   %ecx
5737bd:	68 ac 17 6a 00       	push   $0x6a17ac
5737c2:	56                   	push   %esi
5737c3:	e8 04 69 00 00       	call   0x57a0cc
5737c8:	83 c4 14             	add    $0x14,%esp
5737cb:	8b 43 14             	mov    0x14(%ebx),%eax
5737ce:	8b 08                	mov    (%eax),%ecx
5737d0:	0f b7 11             	movzwl (%ecx),%edx
5737d3:	52                   	push   %edx
5737d4:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
5737d8:	50                   	push   %eax
5737d9:	8b c1                	mov    %ecx,%eax
5737db:	81 e8 f8 17 6a 00    	sub    $0x6a17f8,%eax
5737e1:	b9 0c 00 00 00       	mov    $0xc,%ecx
5737e6:	99                   	cltd
5737e7:	f7 f9                	idiv   %ecx
5737e9:	50                   	push   %eax
5737ea:	68 d2 17 6a 00       	push   $0x6a17d2
5737ef:	56                   	push   %esi
5737f0:	e8 d7 68 00 00       	call   0x57a0cc
5737f5:	83 c4 14             	add    $0x14,%esp
5737f8:	33 c0                	xor    %eax,%eax
5737fa:	5e                   	pop    %esi
5737fb:	5b                   	pop    %ebx
5737fc:	c3                   	ret
5737fd:	8d 40 00             	lea    0x0(%eax),%eax
573800:	53                   	push   %ebx
573801:	56                   	push   %esi
573802:	8b f0                	mov    %eax,%esi
573804:	b8 10 00 00 00       	mov    $0x10,%eax
573809:	e8 6e 4b 00 00       	call   0x57837c
57380e:	8b d8                	mov    %eax,%ebx
573810:	85 c0                	test   %eax,%eax
573812:	75 05                	jne    0x573819
573814:	33 c0                	xor    %eax,%eax
573816:	5e                   	pop    %esi
573817:	5b                   	pop    %ebx
573818:	c3                   	ret
573819:	8b c6                	mov    %esi,%eax
57381b:	e8 c0 5c 00 00       	call   0x5794e0
573820:	89 03                	mov    %eax,(%ebx)
573822:	85 c0                	test   %eax,%eax
573824:	75 0c                	jne    0x573832
573826:	8b c3                	mov    %ebx,%eax
573828:	e8 1b 00 00 00       	call   0x573848
57382d:	33 c0                	xor    %eax,%eax
57382f:	5e                   	pop    %esi
573830:	5b                   	pop    %ebx
573831:	c3                   	ret
573832:	8b 13                	mov    (%ebx),%edx
573834:	89 53 0c             	mov    %edx,0xc(%ebx)
573837:	33 c9                	xor    %ecx,%ecx
573839:	89 4b 04             	mov    %ecx,0x4(%ebx)
57383c:	33 c0                	xor    %eax,%eax
57383e:	89 43 08             	mov    %eax,0x8(%ebx)
573841:	8b c3                	mov    %ebx,%eax
573843:	5e                   	pop    %esi
573844:	5b                   	pop    %ebx
573845:	c3                   	ret
573846:	90                   	nop
573847:	90                   	nop
573848:	53                   	push   %ebx
573849:	8b d8                	mov    %eax,%ebx
57384b:	8b 03                	mov    (%ebx),%eax
57384d:	85 c0                	test   %eax,%eax
57384f:	74 05                	je     0x573856
573851:	e8 2e 4b 00 00       	call   0x578384
573856:	8b c3                	mov    %ebx,%eax
573858:	e8 27 4b 00 00       	call   0x578384
57385d:	5b                   	pop    %ebx
57385e:	c3                   	ret
57385f:	90                   	nop
573860:	53                   	push   %ebx
573861:	56                   	push   %esi
573862:	8b f0                	mov    %eax,%esi
573864:	57                   	push   %edi
573865:	55                   	push   %ebp
573866:	8b 5e 0c             	mov    0xc(%esi),%ebx
573869:	eb 01                	jmp    0x57386c
57386b:	43                   	inc    %ebx
57386c:	8a 03                	mov    (%ebx),%al
57386e:	84 c0                	test   %al,%al
573870:	74 0e                	je     0x573880
573872:	0f be d0             	movsbl %al,%edx
573875:	52                   	push   %edx
573876:	e8 79 76 fe ff       	call   0x55aef4
57387b:	59                   	pop    %ecx
57387c:	85 c0                	test   %eax,%eax
57387e:	75 eb                	jne    0x57386b
573880:	8a 0b                	mov    (%ebx),%cl
573882:	84 c9                	test   %cl,%cl
573884:	75 0d                	jne    0x573893
573886:	89 5e 0c             	mov    %ebx,0xc(%esi)
573889:	b8 01 00 00 00       	mov    $0x1,%eax
57388e:	e9 d7 00 00 00       	jmp    0x57396a
573893:	0f be 13             	movsbl (%ebx),%edx
573896:	52                   	push   %edx
573897:	e8 68 76 fe ff       	call   0x55af04
57389c:	59                   	pop    %ecx
57389d:	85 c0                	test   %eax,%eax
57389f:	75 1d                	jne    0x5738be
5738a1:	8a 0b                	mov    (%ebx),%cl
5738a3:	80 f9 5f             	cmp    $0x5f,%cl
5738a6:	74 16                	je     0x5738be
5738a8:	0f be 03             	movsbl (%ebx),%eax
5738ab:	50                   	push   %eax
5738ac:	e8 7f 76 fe ff       	call   0x55af30
5738b1:	59                   	pop    %ecx
5738b2:	85 c0                	test   %eax,%eax
5738b4:	75 08                	jne    0x5738be
5738b6:	83 c8 ff             	or     $0xffffffff,%eax
5738b9:	e9 ac 00 00 00       	jmp    0x57396a
5738be:	8b fb                	mov    %ebx,%edi
5738c0:	eb 01                	jmp    0x5738c3
5738c2:	43                   	inc    %ebx
5738c3:	8a 03                	mov    (%ebx),%al
5738c5:	84 c0                	test   %al,%al
5738c7:	74 23                	je     0x5738ec
5738c9:	0f be 13             	movsbl (%ebx),%edx
5738cc:	52                   	push   %edx
5738cd:	e8 32 76 fe ff       	call   0x55af04
5738d2:	59                   	pop    %ecx
5738d3:	85 c0                	test   %eax,%eax
5738d5:	75 eb                	jne    0x5738c2
5738d7:	8a 0b                	mov    (%ebx),%cl
5738d9:	80 f9 5f             	cmp    $0x5f,%cl
5738dc:	74 e4                	je     0x5738c2
5738de:	0f be 03             	movsbl (%ebx),%eax
5738e1:	50                   	push   %eax
5738e2:	e8 49 76 fe ff       	call   0x55af30
5738e7:	59                   	pop    %ecx
5738e8:	85 c0                	test   %eax,%eax
5738ea:	75 d6                	jne    0x5738c2
5738ec:	8a 13                	mov    (%ebx),%dl
5738ee:	84 d2                	test   %dl,%dl
5738f0:	75 11                	jne    0x573903
5738f2:	89 7e 04             	mov    %edi,0x4(%esi)
5738f5:	33 c0                	xor    %eax,%eax
5738f7:	c7 46 08 68 1c 6a 00 	movl   $0x6a1c68,0x8(%esi)
5738fe:	89 5e 0c             	mov    %ebx,0xc(%esi)
573901:	eb 67                	jmp    0x57396a
573903:	8a 13                	mov    (%ebx),%dl
573905:	80 fa 3d             	cmp    $0x3d,%dl
573908:	74 2e                	je     0x573938
57390a:	8a 03                	mov    (%ebx),%al
57390c:	84 c0                	test   %al,%al
57390e:	74 13                	je     0x573923
573910:	0f be d0             	movsbl %al,%edx
573913:	52                   	push   %edx
573914:	e8 db 75 fe ff       	call   0x55aef4
573919:	59                   	pop    %ecx
57391a:	85 c0                	test   %eax,%eax
57391c:	75 05                	jne    0x573923
57391e:	83 c8 ff             	or     $0xffffffff,%eax
573921:	eb 47                	jmp    0x57396a
573923:	c6 03 00             	movb   $0x0,(%ebx)
573926:	89 7e 04             	mov    %edi,0x4(%esi)
573929:	c7 46 08 69 1c 6a 00 	movl   $0x6a1c69,0x8(%esi)
573930:	43                   	inc    %ebx
573931:	33 c0                	xor    %eax,%eax
573933:	89 5e 0c             	mov    %ebx,0xc(%esi)
573936:	eb 32                	jmp    0x57396a
573938:	c6 03 00             	movb   $0x0,(%ebx)
57393b:	43                   	inc    %ebx
57393c:	8b eb                	mov    %ebx,%ebp
57393e:	eb 01                	jmp    0x573941
573940:	43                   	inc    %ebx
573941:	8a 03                	mov    (%ebx),%al
573943:	84 c0                	test   %al,%al
573945:	74 0e                	je     0x573955
573947:	0f be d0             	movsbl %al,%edx
57394a:	52                   	push   %edx
57394b:	e8 a4 75 fe ff       	call   0x55aef4
573950:	59                   	pop    %ecx
573951:	85 c0                	test   %eax,%eax
573953:	74 eb                	je     0x573940
573955:	8a 0b                	mov    (%ebx),%cl
573957:	84 c9                	test   %cl,%cl
573959:	74 04                	je     0x57395f
57395b:	c6 03 00             	movb   $0x0,(%ebx)
57395e:	43                   	inc    %ebx
57395f:	89 5e 0c             	mov    %ebx,0xc(%esi)
573962:	89 7e 04             	mov    %edi,0x4(%esi)
573965:	89 6e 08             	mov    %ebp,0x8(%esi)
573968:	33 c0                	xor    %eax,%eax
57396a:	5d                   	pop    %ebp
57396b:	5f                   	pop    %edi
57396c:	5e                   	pop    %esi
57396d:	5b                   	pop    %ebx
57396e:	c3                   	ret
57396f:	90                   	nop
573970:	8b 40 04             	mov    0x4(%eax),%eax
573973:	c3                   	ret
573974:	8b 40 08             	mov    0x8(%eax),%eax
573977:	c3                   	ret
573978:	53                   	push   %ebx
573979:	56                   	push   %esi
57397a:	8b f2                	mov    %edx,%esi
57397c:	8b d8                	mov    %eax,%ebx
57397e:	eb 2b                	jmp    0x5739ab
573980:	8b 43 04             	mov    0x4(%ebx),%eax
573983:	8b d6                	mov    %esi,%edx
573985:	8a 08                	mov    (%eax),%cl
573987:	3a 0a                	cmp    (%edx),%cl
573989:	75 1d                	jne    0x5739a8
57398b:	84 c9                	test   %cl,%cl
57398d:	74 12                	je     0x5739a1
57398f:	8a 48 01             	mov    0x1(%eax),%cl
573992:	3a 4a 01             	cmp    0x1(%edx),%cl
573995:	75 11                	jne    0x5739a8
573997:	83 c0 02             	add    $0x2,%eax
57399a:	83 c2 02             	add    $0x2,%edx
57399d:	84 c9                	test   %cl,%cl
57399f:	75 e4                	jne    0x573985
5739a1:	75 05                	jne    0x5739a8
5739a3:	8b c3                	mov    %ebx,%eax
5739a5:	5e                   	pop    %esi
5739a6:	5b                   	pop    %ebx
5739a7:	c3                   	ret
5739a8:	83 c3 08             	add    $0x8,%ebx
5739ab:	8b 13                	mov    (%ebx),%edx
5739ad:	85 d2                	test   %edx,%edx
5739af:	7d cf                	jge    0x573980
5739b1:	33 c0                	xor    %eax,%eax
5739b3:	5e                   	pop    %esi
5739b4:	5b                   	pop    %ebx
5739b5:	c3                   	ret
5739b6:	90                   	nop
5739b7:	90                   	nop
5739b8:	85 c0                	test   %eax,%eax
5739ba:	75 05                	jne    0x5739c1
5739bc:	b8 60 1c 6a 00       	mov    $0x6a1c60,%eax
5739c1:	c3                   	ret
5739c2:	8b c0                	mov    %eax,%eax
5739c4:	53                   	push   %ebx
5739c5:	56                   	push   %esi
5739c6:	57                   	push   %edi
5739c7:	8b f8                	mov    %eax,%edi
5739c9:	b8 9c 00 00 00       	mov    $0x9c,%eax
5739ce:	e8 a9 49 00 00       	call   0x57837c
5739d3:	8b d8                	mov    %eax,%ebx
5739d5:	85 c0                	test   %eax,%eax