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)
477984:	74 9a                	je     0x477920
477986:	8b 95 c4 00 00 00    	mov    0xc4(%ebp),%edx
47798c:	8b 04 82             	mov    (%edx,%eax,4),%eax
47798f:	89 04 24             	mov    %eax,(%esp)
477992:	8b 04 24             	mov    (%esp),%eax
477995:	5a                   	pop    %edx
477996:	5d                   	pop    %ebp
477997:	5f                   	pop    %edi
477998:	5e                   	pop    %esi
477999:	5b                   	pop    %ebx
47799a:	c3                   	ret
47799b:	90                   	nop
47799c:	55                   	push   %ebp
47799d:	8b ec                	mov    %esp,%ebp
47799f:	6a 00                	push   $0x0
4779a1:	6a 00                	push   $0x0
4779a3:	6a 00                	push   $0x0
4779a5:	6a 00                	push   $0x0
4779a7:	6a 00                	push   $0x0
4779a9:	6a 00                	push   $0x0
4779ab:	53                   	push   %ebx
4779ac:	56                   	push   %esi
4779ad:	57                   	push   %edi
4779ae:	88 4d fe             	mov    %cl,-0x2(%ebp)
4779b1:	88 55 ff             	mov    %dl,-0x1(%ebp)
4779b4:	33 d2                	xor    %edx,%edx
4779b6:	55                   	push   %ebp
4779b7:	68 c5 7a 47 00       	push   $0x477ac5
4779bc:	64 ff 32             	push   %fs:(%edx)
4779bf:	64 89 22             	mov    %esp,%fs:(%edx)
4779c2:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
4779c6:	8b 55 08             	mov    0x8(%ebp),%edx
4779c9:	8b 52 fc             	mov    -0x4(%edx),%edx
4779cc:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
4779d2:	8b 1c 82             	mov    (%edx,%eax,4),%ebx
4779d5:	8b 7b 1c             	mov    0x1c(%ebx),%edi
4779d8:	80 7b 21 00          	cmpb   $0x0,0x21(%ebx)
4779dc:	75 0a                	jne    0x4779e8
4779de:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
4779e2:	0f 84 c2 00 00 00    	je     0x477aaa
4779e8:	f6 47 64 02          	testb  $0x2,0x64(%edi)
4779ec:	0f 84 b8 00 00 00    	je     0x477aaa
4779f2:	8a 47 3e             	mov    0x3e(%edi),%al
4779f5:	3a 45 fe             	cmp    -0x2(%ebp),%al
4779f8:	0f 85 ac 00 00 00    	jne    0x477aaa
4779fe:	80 bf a8 00 00 00 00 	cmpb   $0x0,0xa8(%edi)
477a05:	0f 84 9f 00 00 00    	je     0x477aaa
477a0b:	8b c3                	mov    %ebx,%eax
477a0d:	66 be ff ff          	mov    $0xffff,%si
477a11:	e8 5e c2 f8 ff       	call   0x403c74
477a16:	84 c0                	test   %al,%al
477a18:	0f 84 8c 00 00 00    	je     0x477aaa
477a1e:	8d 55 f8             	lea    -0x8(%ebp),%edx
477a21:	8b c3                	mov    %ebx,%eax
477a23:	8b 08                	mov    (%eax),%ecx
477a25:	ff 51 18             	call   *0x18(%ecx)
477a28:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
477a2c:	74 7c                	je     0x477aaa
477a2e:	8b 45 f8             	mov    -0x8(%ebp),%eax
477a31:	e8 fa 52 ff ff       	call   0x46cd30
477a36:	8b d8                	mov    %eax,%ebx
477a38:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
477a3c:	74 31                	je     0x477a6f
477a3e:	84 db                	test   %bl,%bl
477a40:	74 68                	je     0x477aaa
477a42:	8d 45 f4             	lea    -0xc(%ebp),%eax
477a45:	8b 55 08             	mov    0x8(%ebp),%edx
477a48:	8a 52 fb             	mov    -0x5(%edx),%dl
477a4b:	e8 f8 cf f8 ff       	call   0x404a48
477a50:	8b 45 f4             	mov    -0xc(%ebp),%eax
477a53:	50                   	push   %eax
477a54:	8d 45 f0             	lea    -0x10(%ebp),%eax
477a57:	8b d3                	mov    %ebx,%edx
477a59:	e8 ea cf f8 ff       	call   0x404a48
477a5e:	8b 45 f0             	mov    -0x10(%ebp),%eax
477a61:	5a                   	pop    %edx
477a62:	e8 b1 18 f9 ff       	call   0x409318
477a67:	85 c0                	test   %eax,%eax
477a69:	0f 94 45 fd          	sete   -0x3(%ebp)
477a6d:	eb 3b                	jmp    0x477aaa
477a6f:	84 db                	test   %bl,%bl
477a71:	75 37                	jne    0x477aaa
477a73:	8b 45 08             	mov    0x8(%ebp),%eax
477a76:	80 78 fb 20          	cmpb   $0x20,-0x5(%eax)
477a7a:	74 2e                	je     0x477aaa
477a7c:	8d 45 ec             	lea    -0x14(%ebp),%eax
477a7f:	8b 55 08             	mov    0x8(%ebp),%edx
477a82:	8a 52 fb             	mov    -0x5(%edx),%dl
477a85:	e8 be cf f8 ff       	call   0x404a48
477a8a:	8b 45 ec             	mov    -0x14(%ebp),%eax
477a8d:	50                   	push   %eax
477a8e:	8d 45 e8             	lea    -0x18(%ebp),%eax
477a91:	8b 55 f8             	mov    -0x8(%ebp),%edx
477a94:	8a 12                	mov    (%edx),%dl
477a96:	e8 ad cf f8 ff       	call   0x404a48
477a9b:	8b 45 e8             	mov    -0x18(%ebp),%eax
477a9e:	5a                   	pop    %edx
477a9f:	e8 74 18 f9 ff       	call   0x409318
477aa4:	85 c0                	test   %eax,%eax
477aa6:	0f 94 45 fd          	sete   -0x3(%ebp)
477aaa:	33 c0                	xor    %eax,%eax
477aac:	5a                   	pop    %edx
477aad:	59                   	pop    %ecx
477aae:	59                   	pop    %ecx
477aaf:	64 89 10             	mov    %edx,%fs:(%eax)
477ab2:	68 cc 7a 47 00       	push   $0x477acc
477ab7:	8d 45 e8             	lea    -0x18(%ebp),%eax
477aba:	ba 05 00 00 00       	mov    $0x5,%edx
477abf:	e8 c8 cd f8 ff       	call   0x40488c
477ac4:	c3                   	ret
477ac5:	e9 42 c7 f8 ff       	jmp    0x40420c
477aca:	eb eb                	jmp    0x477ab7
477acc:	8a 45 fd             	mov    -0x3(%ebp),%al
477acf:	5f                   	pop    %edi
477ad0:	5e                   	pop    %esi
477ad1:	5b                   	pop    %ebx
477ad2:	8b e5                	mov    %ebp,%esp
477ad4:	5d                   	pop    %ebp
477ad5:	c3                   	ret
477ad6:	8b c0                	mov    %eax,%eax
477ad8:	55                   	push   %ebp
477ad9:	8b ec                	mov    %esp,%ebp
477adb:	83 c4 f8             	add    $0xfffffff8,%esp
477ade:	53                   	push   %ebx
477adf:	56                   	push   %esi
477ae0:	57                   	push   %edi
477ae1:	88 4d ff             	mov    %cl,-0x1(%ebp)
477ae4:	8b da                	mov    %edx,%ebx
477ae6:	8b f8                	mov    %eax,%edi
477ae8:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
477aef:	83 ce ff             	or     $0xffffffff,%esi
477af2:	47                   	inc    %edi
477af3:	8b 45 08             	mov    0x8(%ebp),%eax
477af6:	8b 40 fc             	mov    -0x4(%eax),%eax
477af9:	3b b8 c0 00 00 00    	cmp    0xc0(%eax),%edi
477aff:	7c 02                	jl     0x477b03
477b01:	33 ff                	xor    %edi,%edi
477b03:	83 fe ff             	cmp    $0xffffffff,%esi
477b06:	75 04                	jne    0x477b0c
477b08:	8b f7                	mov    %edi,%esi
477b0a:	eb 04                	jmp    0x477b10
477b0c:	3b f7                	cmp    %edi,%esi
477b0e:	74 18                	je     0x477b28
477b10:	8b 45 08             	mov    0x8(%ebp),%eax
477b13:	50                   	push   %eax
477b14:	8a 4d ff             	mov    -0x1(%ebp),%cl
477b17:	8b d3                	mov    %ebx,%edx
477b19:	8b c7                	mov    %edi,%eax
477b1b:	e8 7c fe ff ff       	call   0x47799c
477b20:	59                   	pop    %ecx
477b21:	84 c0                	test   %al,%al
477b23:	74 cd                	je     0x477af2
477b25:	89 7d f8             	mov    %edi,-0x8(%ebp)
477b28:	8b 45 f8             	mov    -0x8(%ebp),%eax
477b2b:	5f                   	pop    %edi
477b2c:	5e                   	pop    %esi
477b2d:	5b                   	pop    %ebx
477b2e:	59                   	pop    %ecx
477b2f:	59                   	pop    %ecx
477b30:	5d                   	pop    %ebp
477b31:	c3                   	ret
477b32:	8b c0                	mov    %eax,%eax
477b34:	55                   	push   %ebp
477b35:	8b ec                	mov    %esp,%ebp
477b37:	83 c4 f0             	add    $0xfffffff0,%esp
477b3a:	53                   	push   %ebx
477b3b:	56                   	push   %esi
477b3c:	57                   	push   %edi
477b3d:	88 4d fb             	mov    %cl,-0x5(%ebp)
477b40:	8b da                	mov    %edx,%ebx
477b42:	89 45 fc             	mov    %eax,-0x4(%ebp)
477b45:	8b 45 fc             	mov    -0x4(%ebp),%eax
477b48:	e8 37 d1 ff ff       	call   0x474c84
477b4d:	33 c0                	xor    %eax,%eax
477b4f:	89 45 f4             	mov    %eax,-0xc(%ebp)