5775e9:	8b 04 24             	mov    (%esp),%eax
5775ec:	e8 8f 12 00 00       	call   0x578880
5775f1:	0f b7 56 02          	movzwl 0x2(%esi),%edx
5775f5:	3b c2                	cmp    %edx,%eax
5775f7:	74 0c                	je     0x577605
5775f9:	8b 03                	mov    (%ebx),%eax
5775fb:	e8 84 0d 00 00       	call   0x578384
577600:	83 c8 ff             	or     $0xffffffff,%eax
577603:	eb 16                	jmp    0x57761b
577605:	66 8b 56 02          	mov    0x2(%esi),%dx
577609:	66 89 53 04          	mov    %dx,0x4(%ebx)
57760d:	eb 0a                	jmp    0x577619
57760f:	33 c9                	xor    %ecx,%ecx
577611:	89 0b                	mov    %ecx,(%ebx)
577613:	66 c7 43 04 00 00    	movw   $0x0,0x4(%ebx)
577619:	33 c0                	xor    %eax,%eax
57761b:	5a                   	pop    %edx
57761c:	5d                   	pop    %ebp
57761d:	5f                   	pop    %edi
57761e:	5e                   	pop    %esi
57761f:	5b                   	pop    %ebx
577620:	c3                   	ret
577621:	90                   	nop
577622:	90                   	nop
577623:	90                   	nop
577624:	83 c8 ff             	or     $0xffffffff,%eax
577627:	c3                   	ret
577628:	53                   	push   %ebx
577629:	56                   	push   %esi
57762a:	57                   	push   %edi
57762b:	8b fa                	mov    %edx,%edi
57762d:	8d 70 08             	lea    0x8(%eax),%esi
577630:	33 db                	xor    %ebx,%ebx
577632:	eb 17                	jmp    0x57764b
577634:	8b 06                	mov    (%esi),%eax
577636:	33 d2                	xor    %edx,%edx
577638:	8a 14 18             	mov    (%eax,%ebx,1),%dl
57763b:	52                   	push   %edx
57763c:	68 78 28 6a 00       	push   $0x6a2878
577641:	57                   	push   %edi
577642:	e8 85 2a 00 00       	call   0x57a0cc
577647:	83 c4 0c             	add    $0xc,%esp
57764a:	43                   	inc    %ebx
57764b:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
57764f:	3b d9                	cmp    %ecx,%ebx
577651:	7c e1                	jl     0x577634
577653:	33 c0                	xor    %eax,%eax
577655:	5f                   	pop    %edi
577656:	5e                   	pop    %esi
577657:	5b                   	pop    %ebx
577658:	c3                   	ret
577659:	90                   	nop
57765a:	90                   	nop
57765b:	90                   	nop
57765c:	53                   	push   %ebx
57765d:	8b d8                	mov    %eax,%ebx
57765f:	56                   	push   %esi
577660:	57                   	push   %edi
577661:	55                   	push   %ebp
577662:	8b fa                	mov    %edx,%edi
577664:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577668:	75 3a                	jne    0x5776a4
57766a:	8b 73 40             	mov    0x40(%ebx),%esi
57766d:	85 f6                	test   %esi,%esi
57766f:	7c 10                	jl     0x577681
577671:	8b 43 3c             	mov    0x3c(%ebx),%eax
577674:	3b f0                	cmp    %eax,%esi
577676:	7f 09                	jg     0x577681
577678:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57767c:	83 cd ff             	or     $0xffffffff,%ebp
57767f:	eb 26                	jmp    0x5776a7
577681:	ff 4b 1c             	decl   0x1c(%ebx)
577684:	79 10                	jns    0x577696
577686:	ba 01 00 00 00       	mov    $0x1,%edx
57768b:	8b c3                	mov    %ebx,%eax
57768d:	e8 96 16 00 00       	call   0x578d28
577692:	8b e8                	mov    %eax,%ebp
577694:	eb 11                	jmp    0x5776a7
577696:	ff 43 3c             	incl   0x3c(%ebx)
577699:	8b 43 18             	mov    0x18(%ebx),%eax
57769c:	ff 43 18             	incl   0x18(%ebx)
57769f:	0f b6 28             	movzbl (%eax),%ebp
5776a2:	eb 03                	jmp    0x5776a7
5776a4:	83 cd ff             	or     $0xffffffff,%ebp
5776a7:	83 fd ff             	cmp    $0xffffffff,%ebp
5776aa:	75 05                	jne    0x5776b1
5776ac:	83 c8 ff             	or     $0xffffffff,%eax
5776af:	eb 0a                	jmp    0x5776bb
5776b1:	85 ff                	test   %edi,%edi
5776b3:	74 04                	je     0x5776b9
5776b5:	8b d5                	mov    %ebp,%edx
5776b7:	88 17                	mov    %dl,(%edi)
5776b9:	33 c0                	xor    %eax,%eax
5776bb:	5d                   	pop    %ebp
5776bc:	5f                   	pop    %edi
5776bd:	5e                   	pop    %esi
5776be:	5b                   	pop    %ebx
5776bf:	c3                   	ret
5776c0:	53                   	push   %ebx
5776c1:	56                   	push   %esi
5776c2:	8b f0                	mov    %eax,%esi
5776c4:	57                   	push   %edi
5776c5:	8b da                	mov    %edx,%ebx
5776c7:	f6 46 08 07          	testb  $0x7,0x8(%esi)
5776cb:	75 4a                	jne    0x577717
5776cd:	8b 7e 40             	mov    0x40(%esi),%edi
5776d0:	85 ff                	test   %edi,%edi
5776d2:	7c 10                	jl     0x5776e4
5776d4:	8b 46 3c             	mov    0x3c(%esi),%eax
5776d7:	3b f8                	cmp    %eax,%edi
5776d9:	7f 09                	jg     0x5776e4
5776db:	83 4e 08 04          	orl    $0x4,0x8(%esi)
5776df:	83 ca ff             	or     $0xffffffff,%edx
5776e2:	eb 36                	jmp    0x57771a
5776e4:	83 4e 04 20          	orl    $0x20,0x4(%esi)
5776e8:	ff 4e 1c             	decl   0x1c(%esi)
5776eb:	79 16                	jns    0x577703
5776ed:	8b d3                	mov    %ebx,%edx
5776ef:	8b c6                	mov    %esi,%eax
5776f1:	80 e2 ff             	and    $0xff,%dl
5776f4:	81 e2 ff 00 00 00    	and    $0xff,%edx
5776fa:	e8 19 17 00 00       	call   0x578e18
5776ff:	8b d0                	mov    %eax,%edx
577701:	eb 17                	jmp    0x57771a
577703:	ff 46 3c             	incl   0x3c(%esi)
577706:	80 e3 ff             	and    $0xff,%bl
577709:	8b 46 18             	mov    0x18(%esi),%eax
57770c:	ff 46 18             	incl   0x18(%esi)
57770f:	88 18                	mov    %bl,(%eax)
577711:	33 d2                	xor    %edx,%edx
577713:	8a d3                	mov    %bl,%dl
577715:	eb 03                	jmp    0x57771a
577717:	83 ca ff             	or     $0xffffffff,%edx
57771a:	42                   	inc    %edx
57771b:	75 05                	jne    0x577722
57771d:	83 c8 ff             	or     $0xffffffff,%eax
577720:	eb 02                	jmp    0x577724
577722:	33 c0                	xor    %eax,%eax
577724:	5f                   	pop    %edi
577725:	5e                   	pop    %esi
577726:	5b                   	pop    %ebx
577727:	c3                   	ret
577728:	53                   	push   %ebx
577729:	56                   	push   %esi
57772a:	57                   	push   %edi
57772b:	55                   	push   %ebp
57772c:	8b d8                	mov    %eax,%ebx
57772e:	51                   	push   %ecx
57772f:	89 14 24             	mov    %edx,(%esp)
577732:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577736:	75 3a                	jne    0x577772
577738:	8b 7b 40             	mov    0x40(%ebx),%edi
57773b:	85 ff                	test   %edi,%edi
57773d:	7c 10                	jl     0x57774f
57773f:	8b 43 3c             	mov    0x3c(%ebx),%eax
577742:	3b f8                	cmp    %eax,%edi
577744:	7f 09                	jg     0x57774f
577746:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57774a:	83 ce ff             	or     $0xffffffff,%esi
57774d:	eb 26                	jmp    0x577775
57774f:	ff 4b 1c             	decl   0x1c(%ebx)
577752:	79 10                	jns    0x577764
577754:	ba 01 00 00 00       	mov    $0x1,%edx
577759:	8b c3                	mov    %ebx,%eax
57775b:	e8 c8 15 00 00       	call   0x578d28
577760:	8b f0                	mov    %eax,%esi
577762:	eb 11                	jmp    0x577775
577764:	ff 43 3c             	incl   0x3c(%ebx)
577767:	8b 43 18             	mov    0x18(%ebx),%eax
57776a:	ff 43 18             	incl   0x18(%ebx)
57776d:	0f b6 30             	movzbl (%eax),%esi
577770:	eb 03                	jmp    0x577775
577772:	83 ce ff             	or     $0xffffffff,%esi
577775:	83 fe ff             	cmp    $0xffffffff,%esi
577778:	75 05                	jne    0x57777f
57777a:	83 c8 ff             	or     $0xffffffff,%eax
57777d:	eb 64                	jmp    0x5777e3
57777f:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577783:	8b fe                	mov    %esi,%edi
577785:	75 3a                	jne    0x5777c1
577787:	8b 6b 40             	mov    0x40(%ebx),%ebp
57778a:	85 ed                	test   %ebp,%ebp
57778c:	7c 10                	jl     0x57779e
57778e:	8b 43 3c             	mov    0x3c(%ebx),%eax
577791:	3b e8                	cmp    %eax,%ebp
577793:	7f 09                	jg     0x57779e
577795:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
577799:	83 ce ff             	or     $0xffffffff,%esi
57779c:	eb 26                	jmp    0x5777c4
57779e:	ff 4b 1c             	decl   0x1c(%ebx)
5777a1:	79 10                	jns    0x5777b3
5777a3:	ba 01 00 00 00       	mov    $0x1,%edx
5777a8:	8b c3                	mov    %ebx,%eax
5777aa:	e8 79 15 00 00       	call   0x578d28
5777af:	8b f0                	mov    %eax,%esi
5777b1:	eb 11                	jmp    0x5777c4
5777b3:	ff 43 3c             	incl   0x3c(%ebx)
5777b6:	8b 43 18             	mov    0x18(%ebx),%eax
5777b9:	ff 43 18             	incl   0x18(%ebx)
5777bc:	0f b6 30             	movzbl (%eax),%esi
5777bf:	eb 03                	jmp    0x5777c4
5777c1:	83 ce ff             	or     $0xffffffff,%esi
5777c4:	83 fe ff             	cmp    $0xffffffff,%esi
5777c7:	75 05                	jne    0x5777ce
5777c9:	83 c8 ff             	or     $0xffffffff,%eax
5777cc:	eb 15                	jmp    0x5777e3
5777ce:	c1 e7 08             	shl    $0x8,%edi
5777d1:	66 0b fe             	or     %si,%di
5777d4:	8b 14 24             	mov    (%esp),%edx
5777d7:	85 d2                	test   %edx,%edx
5777d9:	74 06                	je     0x5777e1
5777db:	8b 0c 24             	mov    (%esp),%ecx
5777de:	66 89 39             	mov    %di,(%ecx)
5777e1:	33 c0                	xor    %eax,%eax
5777e3:	5a                   	pop    %edx
5777e4:	5d                   	pop    %ebp
5777e5:	5f                   	pop    %edi
5777e6:	5e                   	pop    %esi
5777e7:	5b                   	pop    %ebx
5777e8:	c3                   	ret
5777e9:	90                   	nop
5777ea:	90                   	nop
5777eb:	90                   	nop
5777ec:	53                   	push   %ebx
5777ed:	8b d8                	mov    %eax,%ebx
5777ef:	56                   	push   %esi
5777f0:	57                   	push   %edi
5777f1:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5777f5:	8b f2                	mov    %edx,%esi
5777f7:	75 53                	jne    0x57784c
5777f9:	8b 7b 40             	mov    0x40(%ebx),%edi
5777fc:	85 ff                	test   %edi,%edi
5777fe:	7c 10                	jl     0x577810
577800:	8b 43 3c             	mov    0x3c(%ebx),%eax
577803:	3b f8                	cmp    %eax,%edi
577805:	7f 09                	jg     0x577810
577807:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57780b:	83 ca ff             	or     $0xffffffff,%edx
57780e:	eb 3f                	jmp    0x57784f
577810:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
577814:	ff 4b 1c             	decl   0x1c(%ebx)
577817:	79 1a                	jns    0x577833
577819:	0f b7 d6             	movzwl %si,%edx
57781c:	c1 fa 08             	sar    $0x8,%edx
57781f:	8b c3                	mov    %ebx,%eax
577821:	80 e2 ff             	and    $0xff,%dl
577824:	81 e2 ff 00 00 00    	and    $0xff,%edx
57782a:	e8 e9 15 00 00       	call   0x578e18
57782f:	8b d0                	mov    %eax,%edx
577831:	eb 1c                	jmp    0x57784f
577833:	0f b7 c6             	movzwl %si,%eax
577836:	ff 43 3c             	incl   0x3c(%ebx)
577839:	8b 4b 18             	mov    0x18(%ebx),%ecx
57783c:	ff 43 18             	incl   0x18(%ebx)
57783f:	c1 f8 08             	sar    $0x8,%eax
577842:	24 ff                	and    $0xff,%al
577844:	33 d2                	xor    %edx,%edx
577846:	8a d0                	mov    %al,%dl
577848:	88 01                	mov    %al,(%ecx)
57784a:	eb 03                	jmp    0x57784f
57784c:	83 ca ff             	or     $0xffffffff,%edx
57784f:	42                   	inc    %edx
577850:	74 57                	je     0x5778a9
577852:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577856:	75 4b                	jne    0x5778a3
577858:	8b 7b 40             	mov    0x40(%ebx),%edi
57785b:	85 ff                	test   %edi,%edi
57785d:	7c 10                	jl     0x57786f
57785f:	8b 43 3c             	mov    0x3c(%ebx),%eax
577862:	3b f8                	cmp    %eax,%edi
577864:	7f 09                	jg     0x57786f
577866:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57786a:	83 ca ff             	or     $0xffffffff,%edx
57786d:	eb 37                	jmp    0x5778a6
57786f:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
577873:	ff 4b 1c             	decl   0x1c(%ebx)
577876:	79 16                	jns    0x57788e
577878:	8b d6                	mov    %esi,%edx
57787a:	8b c3                	mov    %ebx,%eax
57787c:	80 e2 ff             	and    $0xff,%dl
57787f:	81 e2 ff 00 00 00    	and    $0xff,%edx
577885:	e8 8e 15 00 00       	call   0x578e18
57788a:	8b d0                	mov    %eax,%edx
57788c:	eb 18                	jmp    0x5778a6
57788e:	ff 43 3c             	incl   0x3c(%ebx)
577891:	8b c6                	mov    %esi,%eax
577893:	8b 4b 18             	mov    0x18(%ebx),%ecx
577896:	24 ff                	and    $0xff,%al
577898:	ff 43 18             	incl   0x18(%ebx)
57789b:	33 d2                	xor    %edx,%edx
57789d:	8a d0                	mov    %al,%dl
57789f:	88 01                	mov    %al,(%ecx)
5778a1:	eb 03                	jmp    0x5778a6
5778a3:	83 ca ff             	or     $0xffffffff,%edx
5778a6:	42                   	inc    %edx
5778a7:	75 05                	jne    0x5778ae
5778a9:	83 c8 ff             	or     $0xffffffff,%eax
5778ac:	eb 02                	jmp    0x5778b0
5778ae:	33 c0                	xor    %eax,%eax
5778b0:	5f                   	pop    %edi
5778b1:	5e                   	pop    %esi
5778b2:	5b                   	pop    %ebx
5778b3:	c3                   	ret
5778b4:	53                   	push   %ebx
5778b5:	56                   	push   %esi
5778b6:	57                   	push   %edi
5778b7:	55                   	push   %ebp
5778b8:	8b d8                	mov    %eax,%ebx
5778ba:	51                   	push   %ecx
5778bb:	89 14 24             	mov    %edx,(%esp)
5778be:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5778c2:	75 3a                	jne    0x5778fe
5778c4:	8b 7b 40             	mov    0x40(%ebx),%edi
5778c7:	85 ff                	test   %edi,%edi
5778c9:	7c 10                	jl     0x5778db
5778cb:	8b 43 3c             	mov    0x3c(%ebx),%eax
5778ce:	3b f8                	cmp    %eax,%edi
5778d0:	7f 09                	jg     0x5778db
5778d2:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5778d6:	83 ce ff             	or     $0xffffffff,%esi
5778d9:	eb 26                	jmp    0x577901
5778db:	ff 4b 1c             	decl   0x1c(%ebx)
5778de:	79 10                	jns    0x5778f0
5778e0:	ba 01 00 00 00       	mov    $0x1,%edx
5778e5:	8b c3                	mov    %ebx,%eax
5778e7:	e8 3c 14 00 00       	call   0x578d28
5778ec:	8b f0                	mov    %eax,%esi
5778ee:	eb 11                	jmp    0x577901
5778f0:	ff 43 3c             	incl   0x3c(%ebx)
5778f3:	8b 43 18             	mov    0x18(%ebx),%eax
5778f6:	ff 43 18             	incl   0x18(%ebx)
5778f9:	0f b6 30             	movzbl (%eax),%esi
5778fc:	eb 03                	jmp    0x577901
5778fe:	83 ce ff             	or     $0xffffffff,%esi
577901:	83 fe ff             	cmp    $0xffffffff,%esi
577904:	75 08                	jne    0x57790e
577906:	83 c8 ff             	or     $0xffffffff,%eax
577909:	e9 09 01 00 00       	jmp    0x577a17
57790e:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577912:	8b fe                	mov    %esi,%edi
577914:	75 3a                	jne    0x577950
577916:	8b 6b 40             	mov    0x40(%ebx),%ebp
577919:	85 ed                	test   %ebp,%ebp
57791b:	7c 10                	jl     0x57792d
57791d:	8b 43 3c             	mov    0x3c(%ebx),%eax
577920:	3b e8                	cmp    %eax,%ebp
577922:	7f 09                	jg     0x57792d
577924:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
577928:	83 ce ff             	or     $0xffffffff,%esi
57792b:	eb 26                	jmp    0x577953