4775ac:	34 01                	xor    $0x1,%al
4775ae:	22 c3                	and    %bl,%al
4775b0:	84 c0                	test   %al,%al
4775b2:	74 12                	je     0x4775c6
4775b4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4775b7:	8b 40 0c             	mov    0xc(%eax),%eax
4775ba:	ba 0e 00 00 80       	mov    $0x8000000e,%edx
4775bf:	e8 d4 04 fb ff       	call   0x427a98
4775c4:	eb 28                	jmp    0x4775ee
4775c6:	80 7d ea 00          	cmpb   $0x0,-0x16(%ebp)
4775ca:	74 12                	je     0x4775de
4775cc:	8b 45 ec             	mov    -0x14(%ebp),%eax
4775cf:	8b 40 0c             	mov    0xc(%eax),%eax
4775d2:	ba 12 00 00 80       	mov    $0x80000012,%edx
4775d7:	e8 bc 04 fb ff       	call   0x427a98
4775dc:	eb 10                	jmp    0x4775ee
4775de:	8b 45 ec             	mov    -0x14(%ebp),%eax
4775e1:	8b 40 0c             	mov    0xc(%eax),%eax
4775e4:	ba 07 00 00 80       	mov    $0x80000007,%edx
4775e9:	e8 aa 04 fb ff       	call   0x427a98
4775ee:	33 c0                	xor    %eax,%eax
4775f0:	eb 4c                	jmp    0x47763e
4775f2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4775f5:	8b 40 0c             	mov    0xc(%eax),%eax
4775f8:	ba 11 00 00 80       	mov    $0x80000011,%edx
4775fd:	e8 96 04 fb ff       	call   0x427a98
477602:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477608:	8b 40 70             	mov    0x70(%eax),%eax
47760b:	e8 c8 ff fa ff       	call   0x4275d8
477610:	8b f0                	mov    %eax,%esi
477612:	80 7d ea 00          	cmpb   $0x0,-0x16(%ebp)
477616:	75 24                	jne    0x47763c
477618:	84 db                	test   %bl,%bl
47761a:	75 0e                	jne    0x47762a
47761c:	b8 0f 00 00 80       	mov    $0x8000000f,%eax
477621:	e8 b2 ff fa ff       	call   0x4275d8
477626:	3b f0                	cmp    %eax,%esi
477628:	74 12                	je     0x47763c
47762a:	b8 11 00 00 80       	mov    $0x80000011,%eax
47762f:	e8 a4 ff fa ff       	call   0x4275d8
477634:	3b f0                	cmp    %eax,%esi
477636:	74 04                	je     0x47763c
477638:	33 c0                	xor    %eax,%eax
47763a:	eb 02                	jmp    0x47763e
47763c:	b0 01                	mov    $0x1,%al
47763e:	53                   	push   %ebx
47763f:	8a 55 eb             	mov    -0x15(%ebp),%dl
477642:	52                   	push   %edx
477643:	50                   	push   %eax
477644:	8d 4d c0             	lea    -0x40(%ebp),%ecx
477647:	8b 55 ec             	mov    -0x14(%ebp),%edx
47764a:	8b c7                	mov    %edi,%eax
47764c:	8b 18                	mov    (%eax),%ebx
47764e:	ff 53 44             	call   *0x44(%ebx)
477651:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
477655:	74 35                	je     0x47768c
477657:	68 20 00 cc 00       	push   $0xcc0020
47765c:	6a 00                	push   $0x0
47765e:	6a 00                	push   $0x0
477660:	8b 45 ec             	mov    -0x14(%ebp),%eax
477663:	e8 58 16 fb ff       	call   0x428cc0
477668:	50                   	push   %eax
477669:	8b 45 f8             	mov    -0x8(%ebp),%eax
47766c:	8b 10                	mov    (%eax),%edx
47766e:	ff 52 20             	call   *0x20(%edx)
477671:	50                   	push   %eax
477672:	8b 45 f8             	mov    -0x8(%ebp),%eax
477675:	8b 10                	mov    (%eax),%edx
477677:	ff 52 2c             	call   *0x2c(%edx)
47767a:	50                   	push   %eax
47767b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47767e:	50                   	push   %eax
47767f:	8b 45 d0             	mov    -0x30(%ebp),%eax
477682:	50                   	push   %eax
477683:	8b 45 f4             	mov    -0xc(%ebp),%eax
477686:	50                   	push   %eax
477687:	e8 ac fd f8 ff       	call   0x407438
47768c:	33 c0                	xor    %eax,%eax
47768e:	5a                   	pop    %edx
47768f:	59                   	pop    %ecx
477690:	59                   	pop    %ecx
477691:	64 89 10             	mov    %edx,%fs:(%eax)
477694:	68 be 76 47 00       	push   $0x4776be
477699:	8b 45 fc             	mov    -0x4(%ebp),%eax
47769c:	e8 2b 12 fb ff       	call   0x4288cc
4776a1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4776a4:	50                   	push   %eax
4776a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4776a8:	50                   	push   %eax
4776a9:	e8 32 00 f9 ff       	call   0x4076e0
4776ae:	8b 45 f8             	mov    -0x8(%ebp),%eax
4776b1:	e8 c2 c3 f8 ff       	call   0x403a78
4776b6:	c3                   	ret
4776b7:	e9 50 cb f8 ff       	jmp    0x40420c
4776bc:	eb db                	jmp    0x477699
4776be:	5f                   	pop    %edi
4776bf:	5e                   	pop    %esi
4776c0:	5b                   	pop    %ebx
4776c1:	8b e5                	mov    %ebp,%esp
4776c3:	5d                   	pop    %ebp
4776c4:	c2 04 00             	ret    $0x4
4776c7:	90                   	nop
4776c8:	53                   	push   %ebx
4776c9:	56                   	push   %esi
4776ca:	57                   	push   %edi
4776cb:	55                   	push   %ebp
4776cc:	8b ea                	mov    %edx,%ebp
4776ce:	8b d8                	mov    %eax,%ebx
4776d0:	8b bb c0 00 00 00    	mov    0xc0(%ebx),%edi
4776d6:	4f                   	dec    %edi
4776d7:	85 ff                	test   %edi,%edi
4776d9:	7c 35                	jl     0x477710
4776db:	47                   	inc    %edi
4776dc:	33 f6                	xor    %esi,%esi
4776de:	f6 83 b3 00 00 00 04 	testb  $0x4,0xb3(%ebx)
4776e5:	75 11                	jne    0x4776f8
4776e7:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
4776ed:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4776f0:	3b 83 ac 00 00 00    	cmp    0xac(%ebx),%eax
4776f6:	74 14                	je     0x47770c
4776f8:	6a 00                	push   $0x0
4776fa:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
477700:	8b 14 b0             	mov    (%eax,%esi,4),%edx
477703:	8b cd                	mov    %ebp,%ecx
477705:	8b c3                	mov    %ebx,%eax
477707:	e8 58 fc ff ff       	call   0x477364
47770c:	46                   	inc    %esi
47770d:	4f                   	dec    %edi
47770e:	75 ce                	jne    0x4776de
477710:	f6 83 b3 00 00 00 04 	testb  $0x4,0xb3(%ebx)
477717:	75 1a                	jne    0x477733
477719:	83 bb ac 00 00 00 00 	cmpl   $0x0,0xac(%ebx)
477720:	74 11                	je     0x477733
477722:	6a 00                	push   $0x0
477724:	8b cd                	mov    %ebp,%ecx
477726:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
47772c:	8b c3                	mov    %ebx,%eax
47772e:	e8 31 fc ff ff       	call   0x477364
477733:	80 a3 b3 00 00 00 fb 	andb   $0xfb,0xb3(%ebx)
47773a:	5d                   	pop    %ebp
47773b:	5f                   	pop    %edi
47773c:	5e                   	pop    %esi
47773d:	5b                   	pop    %ebx
47773e:	c3                   	ret
47773f:	90                   	nop
477740:	53                   	push   %ebx
477741:	56                   	push   %esi
477742:	8b f2                	mov    %edx,%esi
477744:	8b d8                	mov    %eax,%ebx
477746:	80 bb bd 00 00 00 00 	cmpb   $0x0,0xbd(%ebx)
47774d:	74 58                	je     0x4777a7
47774f:	83 bb c8 00 00 00 00 	cmpl   $0x0,0xc8(%ebx)
477756:	74 4f                	je     0x4777a7
477758:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
47775e:	e8 f5 7a fd ff       	call   0x44f258
477763:	84 c0                	test   %al,%al
477765:	74 40                	je     0x4777a7
477767:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
47776b:	74 3a                	je     0x4777a7
47776d:	8d 46 04             	lea    0x4(%esi),%eax
477770:	50                   	push   %eax
477771:	e8 6a 04 f9 ff       	call   0x407be0
477776:	85 c0                	test   %eax,%eax
477778:	75 2d                	jne    0x4777a7
47777a:	8b 46 1c             	mov    0x1c(%esi),%eax
47777d:	8b 15 9c 03 47 00    	mov    0x47039c,%edx
477783:	e8 7c c4 f8 ff       	call   0x403c04
477788:	84 c0                	test   %al,%al
47778a:	75 1b                	jne    0x4777a7
47778c:	80 4e 2c 01          	orb    $0x1,0x2c(%esi)
477790:	6a 00                	push   $0x0
477792:	8d 46 04             	lea    0x4(%esi),%eax
477795:	50                   	push   %eax
477796:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
47779c:	e8 b3 77 fd ff       	call   0x44ef54
4777a1:	50                   	push   %eax
4777a2:	e8 01 04 f9 ff       	call   0x407ba8
4777a7:	5e                   	pop    %esi
4777a8:	5b                   	pop    %ebx
4777a9:	c3                   	ret
4777aa:	8b c0                	mov    %eax,%eax
4777ac:	55                   	push   %ebp
4777ad:	8b ec                	mov    %esp,%ebp
4777af:	83 c4 f0             	add    $0xfffffff0,%esp
4777b2:	53                   	push   %ebx
4777b3:	56                   	push   %esi
4777b4:	57                   	push   %edi
4777b5:	33 c9                	xor    %ecx,%ecx
4777b7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4777ba:	88 55 ff             	mov    %dl,-0x1(%ebp)
4777bd:	8b d8                	mov    %eax,%ebx
4777bf:	33 c0                	xor    %eax,%eax
4777c1:	55                   	push   %ebp
4777c2:	68 af 78 47 00       	push   $0x4778af
4777c7:	64 ff 30             	push   %fs:(%eax)
4777ca:	64 89 20             	mov    %esp,%fs:(%eax)
4777cd:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4777d1:	75 16                	jne    0x4777e9
4777d3:	f6 83 b4 00 00 00 02 	testb  $0x2,0xb4(%ebx)
4777da:	74 0d                	je     0x4777e9
4777dc:	e8 2b 49 ff ff       	call   0x46c10c
4777e1:	84 c0                	test   %al,%al
4777e3:	75 04                	jne    0x4777e9
4777e5:	33 c0                	xor    %eax,%eax
4777e7:	eb 02                	jmp    0x4777eb
4777e9:	b0 01                	mov    $0x1,%al
4777eb:	88 45 ff             	mov    %al,-0x1(%ebp)
4777ee:	f6 83 b3 00 00 00 20 	testb  $0x20,0xb3(%ebx)
4777f5:	0f 95 c0             	setne  %al
4777f8:	3a 45 ff             	cmp    -0x1(%ebp),%al
4777fb:	0f 84 98 00 00 00    	je     0x477899
477801:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
477805:	74 09                	je     0x477810
477807:	80 8b b3 00 00 00 20 	orb    $0x20,0xb3(%ebx)
47780e:	eb 07                	jmp    0x477817
477810:	80 a3 b3 00 00 00 df 	andb   $0xdf,0xb3(%ebx)
477817:	8b b3 c8 00 00 00    	mov    0xc8(%ebx),%esi
47781d:	85 f6                	test   %esi,%esi
47781f:	74 78                	je     0x477899
477821:	8b c6                	mov    %esi,%eax
477823:	e8 30 7a fd ff       	call   0x44f258
477828:	84 c0                	test   %al,%al
47782a:	74 6d                	je     0x477899
47782c:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
477832:	e8 1d 77 fd ff       	call   0x44ef54
477837:	50                   	push   %eax
477838:	e8 bb 03 f9 ff       	call   0x407bf8
47783d:	85 c0                	test   %eax,%eax
47783f:	74 58                	je     0x477899
477841:	8b 83 c0 00 00 00    	mov    0xc0(%ebx),%eax
477847:	48                   	dec    %eax
477848:	85 c0                	test   %eax,%eax
47784a:	7c 4d                	jl     0x477899
47784c:	40                   	inc    %eax
47784d:	89 45 f4             	mov    %eax,-0xc(%ebp)
477850:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
477857:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
47785d:	8b 55 f8             	mov    -0x8(%ebp),%edx
477860:	8b 3c 90             	mov    (%eax,%edx,4),%edi
477863:	8b c7                	mov    %edi,%eax
477865:	66 be ff ff          	mov    $0xffff,%si
477869:	e8 06 c4 f8 ff       	call   0x403c74
47786e:	84 c0                	test   %al,%al
477870:	74 1f                	je     0x477891
477872:	8d 55 f0             	lea    -0x10(%ebp),%edx
477875:	8b c7                	mov    %edi,%eax
477877:	8b 08                	mov    (%eax),%ecx
477879:	ff 51 18             	call   *0x18(%ecx)
47787c:	8b 45 f0             	mov    -0x10(%ebp),%eax
47787f:	e8 ac 54 ff ff       	call   0x46cd30
477884:	84 c0                	test   %al,%al
477886:	74 09                	je     0x477891
477888:	8b d7                	mov    %edi,%edx
47788a:	8b c3                	mov    %ebx,%eax
47788c:	e8 af fe ff ff       	call   0x477740
477891:	ff 45 f8             	incl   -0x8(%ebp)
477894:	ff 4d f4             	decl   -0xc(%ebp)
477897:	75 be                	jne    0x477857
477899:	33 c0                	xor    %eax,%eax
47789b:	5a                   	pop    %edx
47789c:	59                   	pop    %ecx
47789d:	59                   	pop    %ecx
47789e:	64 89 10             	mov    %edx,%fs:(%eax)
4778a1:	68 b6 78 47 00       	push   $0x4778b6
4778a6:	8d 45 f0             	lea    -0x10(%ebp),%eax
4778a9:	e8 ba cf f8 ff       	call   0x404868
4778ae:	c3                   	ret
4778af:	e9 58 c9 f8 ff       	jmp    0x40420c
4778b4:	eb f0                	jmp    0x4778a6
4778b6:	5f                   	pop    %edi
4778b7:	5e                   	pop    %esi
4778b8:	5b                   	pop    %ebx
4778b9:	8b e5                	mov    %ebp,%esp
4778bb:	5d                   	pop    %ebp
4778bc:	c3                   	ret
4778bd:	8d 40 00             	lea    0x0(%eax),%eax
4778c0:	53                   	push   %ebx
4778c1:	56                   	push   %esi
4778c2:	8b d8                	mov    %eax,%ebx
4778c4:	b1 01                	mov    $0x1,%cl
4778c6:	33 d2                	xor    %edx,%edx
4778c8:	8b c3                	mov    %ebx,%eax
4778ca:	e8 25 00 00 00       	call   0x4778f4
4778cf:	85 c0                	test   %eax,%eax
4778d1:	74 1c                	je     0x4778ef
4778d3:	8b f0                	mov    %eax,%esi
4778d5:	eb 0f                	jmp    0x4778e6
4778d7:	b1 01                	mov    $0x1,%cl
4778d9:	8b d0                	mov    %eax,%edx
4778db:	8b c3                	mov    %ebx,%eax
4778dd:	e8 12 00 00 00       	call   0x4778f4
4778e2:	3b f0                	cmp    %eax,%esi
4778e4:	74 09                	je     0x4778ef
4778e6:	8b 50 1c             	mov    0x1c(%eax),%edx
4778e9:	f6 42 65 04          	testb  $0x4,0x65(%edx)
4778ed:	75 e8                	jne    0x4778d7
4778ef:	5e                   	pop    %esi
4778f0:	5b                   	pop    %ebx
4778f1:	c3                   	ret
4778f2:	8b c0                	mov    %eax,%eax
4778f4:	53                   	push   %ebx
4778f5:	56                   	push   %esi
4778f6:	57                   	push   %edi
4778f7:	55                   	push   %ebp
4778f8:	51                   	push   %ecx
4778f9:	8b d9                	mov    %ecx,%ebx
4778fb:	8b f2                	mov    %edx,%esi
4778fd:	8b e8                	mov    %eax,%ebp
4778ff:	8b c5                	mov    %ebp,%eax
477901:	e8 7e d3 ff ff       	call   0x474c84
477906:	33 c0                	xor    %eax,%eax
477908:	89 04 24             	mov    %eax,(%esp)
47790b:	83 bd c0 00 00 00 00 	cmpl   $0x0,0xc0(%ebp)
477912:	74 7e                	je     0x477992
477914:	83 cf ff             	or     $0xffffffff,%edi
477917:	8b d6                	mov    %esi,%edx
477919:	8b c5                	mov    %ebp,%eax
47791b:	e8 38 d4 ff ff       	call   0x474d58
477920:	84 db                	test   %bl,%bl
477922:	74 0d                	je     0x477931
477924:	40                   	inc    %eax
477925:	3b 85 c0 00 00 00    	cmp    0xc0(%ebp),%eax
47792b:	7c 10                	jl     0x47793d
47792d:	33 c0                	xor    %eax,%eax
47792f:	eb 0c                	jmp    0x47793d
477931:	48                   	dec    %eax
477932:	85 c0                	test   %eax,%eax
477934:	7d 07                	jge    0x47793d
477936:	8b 85 c0 00 00 00    	mov    0xc0(%ebp),%eax
47793c:	48                   	dec    %eax
47793d:	83 ff ff             	cmp    $0xffffffff,%edi
477940:	75 04                	jne    0x477946
477942:	8b f8                	mov    %eax,%edi
477944:	eb 04                	jmp    0x47794a
477946:	3b f8                	cmp    %eax,%edi
477948:	74 48                	je     0x477992
47794a:	8b 95 c4 00 00 00    	mov    0xc4(%ebp),%edx
477950:	8b 34 82             	mov    (%edx,%eax,4),%esi
477953:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
477957:	75 0c                	jne    0x477965
477959:	8b 95 c4 00 00 00    	mov    0xc4(%ebp),%edx
47795f:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
477963:	74 bb                	je     0x477920
477965:	8b 95 c4 00 00 00    	mov    0xc4(%ebp),%edx
47796b:	8b 56 1c             	mov    0x1c(%esi),%edx
47796e:	80 ba a8 00 00 00 00 	cmpb   $0x0,0xa8(%edx)
477975:	74 a9                	je     0x477920
477977:	8b 95 c4 00 00 00    	mov    0xc4(%ebp),%edx
47797d:	8b 56 1c             	mov    0x1c(%esi),%edx
477980:	f6 42 64 02          	testb  $0x2,0x64(%edx)