46c7f0:	56                   	push   %esi
46c7f1:	8b 75 0c             	mov    0xc(%ebp),%esi
46c7f4:	33 db                	xor    %ebx,%ebx
46c7f6:	57                   	push   %edi
46c7f7:	8b 7d 18             	mov    0x18(%ebp),%edi
46c7fa:	89 1f                	mov    %ebx,(%edi)
46c7fc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
46c802:	85 f6                	test   %esi,%esi
46c804:	74 08                	je     0x46c80e
46c806:	89 16                	mov    %edx,(%esi)
46c808:	83 c6 04             	add    $0x4,%esi
46c80b:	89 75 0c             	mov    %esi,0xc(%ebp)
46c80e:	c7 45 f8 20 00 00 00 	movl   $0x20,-0x8(%ebp)
46c815:	c7 45 f4 09 00 00 00 	movl   $0x9,-0xc(%ebp)
46c81c:	6a 22                	push   $0x22
46c81e:	58                   	pop    %eax
46c81f:	66 39 01             	cmp    %ax,(%ecx)
46c822:	75 0a                	jne    0x46c82e
46c824:	84 db                	test   %bl,%bl
46c826:	0f 94 c3             	sete   %bl
46c829:	83 c1 02             	add    $0x2,%ecx
46c82c:	eb 1a                	jmp    0x46c848
46c82e:	ff 07                	incl   (%edi)
46c830:	85 d2                	test   %edx,%edx
46c832:	74 09                	je     0x46c83d
46c834:	66 8b 01             	mov    (%ecx),%ax
46c837:	66 89 02             	mov    %ax,(%edx)
46c83a:	83 c2 02             	add    $0x2,%edx
46c83d:	0f b7 01             	movzwl (%ecx),%eax
46c840:	83 c1 02             	add    $0x2,%ecx
46c843:	66 85 c0             	test   %ax,%ax
46c846:	74 1f                	je     0x46c867
46c848:	84 db                	test   %bl,%bl
46c84a:	75 d0                	jne    0x46c81c
46c84c:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
46c850:	74 09                	je     0x46c85b
46c852:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
46c856:	6a 22                	push   $0x22
46c858:	58                   	pop    %eax
46c859:	75 c4                	jne    0x46c81f
46c85b:	85 d2                	test   %edx,%edx
46c85d:	74 0b                	je     0x46c86a
46c85f:	33 c0                	xor    %eax,%eax
46c861:	66 89 42 fe          	mov    %ax,-0x2(%edx)
46c865:	eb 03                	jmp    0x46c86a
46c867:	83 e9 02             	sub    $0x2,%ecx
46c86a:	8b 5d 14             	mov    0x14(%ebp),%ebx
46c86d:	33 c0                	xor    %eax,%eax
46c86f:	88 45 ff             	mov    %al,-0x1(%ebp)
46c872:	66 39 01             	cmp    %ax,(%ecx)
46c875:	0f 84 da 00 00 00    	je     0x46c955
46c87b:	0f b7 01             	movzwl (%ecx),%eax
46c87e:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
46c882:	74 06                	je     0x46c88a
46c884:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
46c888:	75 05                	jne    0x46c88f
46c88a:	83 c1 02             	add    $0x2,%ecx
46c88d:	eb ec                	jmp    0x46c87b
46c88f:	33 c0                	xor    %eax,%eax
46c891:	66 39 01             	cmp    %ax,(%ecx)
46c894:	0f 84 bb 00 00 00    	je     0x46c955
46c89a:	85 f6                	test   %esi,%esi
46c89c:	74 08                	je     0x46c8a6
46c89e:	89 16                	mov    %edx,(%esi)
46c8a0:	83 c6 04             	add    $0x4,%esi
46c8a3:	89 75 0c             	mov    %esi,0xc(%ebp)
46c8a6:	ff 03                	incl   (%ebx)
46c8a8:	33 db                	xor    %ebx,%ebx
46c8aa:	6a 5c                	push   $0x5c
46c8ac:	5e                   	pop    %esi
46c8ad:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
46c8b4:	8b c3                	mov    %ebx,%eax
46c8b6:	eb 04                	jmp    0x46c8bc
46c8b8:	83 c1 02             	add    $0x2,%ecx
46c8bb:	40                   	inc    %eax
46c8bc:	66 39 31             	cmp    %si,(%ecx)
46c8bf:	74 f7                	je     0x46c8b8
46c8c1:	6a 22                	push   $0x22
46c8c3:	5e                   	pop    %esi
46c8c4:	66 39 31             	cmp    %si,(%ecx)
46c8c7:	6a 5c                	push   $0x5c
46c8c9:	5e                   	pop    %esi
46c8ca:	75 38                	jne    0x46c904
46c8cc:	a8 01                	test   $0x1,%al
46c8ce:	75 20                	jne    0x46c8f0
46c8d0:	38 5d ff             	cmp    %bl,-0x1(%ebp)
46c8d3:	74 11                	je     0x46c8e6
46c8d5:	6a 22                	push   $0x22
46c8d7:	5e                   	pop    %esi
46c8d8:	66 39 71 02          	cmp    %si,0x2(%ecx)
46c8dc:	6a 5c                	push   $0x5c
46c8de:	5e                   	pop    %esi
46c8df:	75 05                	jne    0x46c8e6
46c8e1:	83 c1 02             	add    $0x2,%ecx
46c8e4:	eb 0a                	jmp    0x46c8f0
46c8e6:	38 5d ff             	cmp    %bl,-0x1(%ebp)
46c8e9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46c8ec:	0f 94 45 ff          	sete   -0x1(%ebp)
46c8f0:	8b 7d 18             	mov    0x18(%ebp),%edi
46c8f3:	d1 e8                	shr    $1,%eax
46c8f5:	eb 0d                	jmp    0x46c904
46c8f7:	48                   	dec    %eax
46c8f8:	85 d2                	test   %edx,%edx
46c8fa:	74 06                	je     0x46c902
46c8fc:	66 89 32             	mov    %si,(%edx)
46c8ff:	83 c2 02             	add    $0x2,%edx
46c902:	ff 07                	incl   (%edi)
46c904:	85 c0                	test   %eax,%eax
46c906:	75 ef                	jne    0x46c8f7
46c908:	0f b7 01             	movzwl (%ecx),%eax
46c90b:	66 85 c0             	test   %ax,%ax
46c90e:	74 2a                	je     0x46c93a
46c910:	38 5d ff             	cmp    %bl,-0x1(%ebp)
46c913:	75 0c                	jne    0x46c921
46c915:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
46c919:	74 1f                	je     0x46c93a
46c91b:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
46c91f:	74 19                	je     0x46c93a
46c921:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
46c924:	74 0c                	je     0x46c932
46c926:	85 d2                	test   %edx,%edx
46c928:	74 06                	je     0x46c930
46c92a:	66 89 02             	mov    %ax,(%edx)
46c92d:	83 c2 02             	add    $0x2,%edx
46c930:	ff 07                	incl   (%edi)
46c932:	83 c1 02             	add    $0x2,%ecx
46c935:	e9 73 ff ff ff       	jmp    0x46c8ad
46c93a:	8b 75 0c             	mov    0xc(%ebp),%esi
46c93d:	8b 5d 14             	mov    0x14(%ebp),%ebx
46c940:	85 d2                	test   %edx,%edx
46c942:	74 08                	je     0x46c94c
46c944:	33 c0                	xor    %eax,%eax
46c946:	66 89 02             	mov    %ax,(%edx)
46c949:	83 c2 02             	add    $0x2,%edx
46c94c:	ff 07                	incl   (%edi)
46c94e:	33 c0                	xor    %eax,%eax
46c950:	e9 1d ff ff ff       	jmp    0x46c872
46c955:	85 f6                	test   %esi,%esi
46c957:	74 02                	je     0x46c95b
46c959:	89 06                	mov    %eax,(%esi)
46c95b:	ff 03                	incl   (%ebx)
46c95d:	5f                   	pop    %edi
46c95e:	5e                   	pop    %esi
46c95f:	5b                   	pop    %ebx
46c960:	8b e5                	mov    %ebp,%esp
46c962:	5d                   	pop    %ebp
46c963:	c3                   	ret
46c964:	8b ff                	mov    %edi,%edi
46c966:	55                   	push   %ebp
46c967:	8b ec                	mov    %esp,%ebp
46c969:	8b 45 08             	mov    0x8(%ebp),%eax
46c96c:	8b 00                	mov    (%eax),%eax
46c96e:	a3 00 bf 4b 00       	mov    %eax,0x4bbf00
46c973:	5d                   	pop    %ebp
46c974:	c3                   	ret
46c975:	8b ff                	mov    %edi,%edi
46c977:	55                   	push   %ebp
46c978:	8b ec                	mov    %esp,%ebp
46c97a:	8b 45 08             	mov    0x8(%ebp),%eax
46c97d:	8b 00                	mov    (%eax),%eax
46c97f:	a3 04 bf 4b 00       	mov    %eax,0x4bbf04
46c984:	5d                   	pop    %ebp
46c985:	c3                   	ret
46c986:	8b ff                	mov    %edi,%edi
46c988:	55                   	push   %ebp
46c989:	8b ec                	mov    %esp,%ebp
46c98b:	8b 45 08             	mov    0x8(%ebp),%eax
46c98e:	89 01                	mov    %eax,(%ecx)
46c990:	8b c1                	mov    %ecx,%eax
46c992:	5d                   	pop    %ebp
46c993:	c2 04 00             	ret    $0x4
46c996:	8b ff                	mov    %edi,%edi
46c998:	55                   	push   %ebp
46c999:	8b ec                	mov    %esp,%ebp
46c99b:	8b 45 08             	mov    0x8(%ebp),%eax
46c99e:	89 01                	mov    %eax,(%ecx)
46c9a0:	8b c1                	mov    %ecx,%eax
46c9a2:	5d                   	pop    %ebp
46c9a3:	c2 04 00             	ret    $0x4
46c9a6:	8b ff                	mov    %edi,%edi
46c9a8:	55                   	push   %ebp
46c9a9:	8b ec                	mov    %esp,%ebp
46c9ab:	8b 45 08             	mov    0x8(%ebp),%eax
46c9ae:	89 01                	mov    %eax,(%ecx)
46c9b0:	8b c1                	mov    %ecx,%eax
46c9b2:	5d                   	pop    %ebp
46c9b3:	c2 04 00             	ret    $0x4
46c9b6:	8b ff                	mov    %edi,%edi
46c9b8:	55                   	push   %ebp
46c9b9:	8b ec                	mov    %esp,%ebp
46c9bb:	8b 45 08             	mov    0x8(%ebp),%eax
46c9be:	89 01                	mov    %eax,(%ecx)
46c9c0:	8b c1                	mov    %ecx,%eax
46c9c2:	5d                   	pop    %ebp
46c9c3:	c2 04 00             	ret    $0x4
46c9c6:	8b ff                	mov    %edi,%edi
46c9c8:	56                   	push   %esi
46c9c9:	8b f1                	mov    %ecx,%esi
46c9cb:	ff 36                	push   (%esi)
46c9cd:	e8 67 59 00 00       	call   0x472339
46c9d2:	83 26 00             	andl   $0x0,(%esi)
46c9d5:	59                   	pop    %ecx
46c9d6:	5e                   	pop    %esi
46c9d7:	c3                   	ret
46c9d8:	8b ff                	mov    %edi,%edi
46c9da:	56                   	push   %esi
46c9db:	8b f1                	mov    %ecx,%esi
46c9dd:	ff 36                	push   (%esi)
46c9df:	e8 55 59 00 00       	call   0x472339
46c9e4:	83 26 00             	andl   $0x0,(%esi)
46c9e7:	59                   	pop    %ecx
46c9e8:	5e                   	pop    %esi
46c9e9:	c3                   	ret
46c9ea:	33 c0                	xor    %eax,%eax
46c9ec:	39 01                	cmp    %eax,(%ecx)
46c9ee:	0f 95 c0             	setne  %al
46c9f1:	c3                   	ret
46c9f2:	8b 01                	mov    (%ecx),%eax
46c9f4:	33 d2                	xor    %edx,%edx
46c9f6:	8b 08                	mov    (%eax),%ecx
46c9f8:	39 11                	cmp    %edx,(%ecx)
46c9fa:	74 09                	je     0x46ca05
46c9fc:	8d 49 04             	lea    0x4(%ecx),%ecx
46c9ff:	42                   	inc    %edx
46ca00:	83 39 00             	cmpl   $0x0,(%ecx)
46ca03:	75 f7                	jne    0x46c9fc
46ca05:	8b c2                	mov    %edx,%eax
46ca07:	c3                   	ret
46ca08:	8b 01                	mov    (%ecx),%eax
46ca0a:	33 d2                	xor    %edx,%edx
46ca0c:	8b 08                	mov    (%eax),%ecx
46ca0e:	39 11                	cmp    %edx,(%ecx)
46ca10:	74 09                	je     0x46ca1b
46ca12:	8d 49 04             	lea    0x4(%ecx),%ecx
46ca15:	42                   	inc    %edx
46ca16:	83 39 00             	cmpl   $0x0,(%ecx)
46ca19:	75 f7                	jne    0x46ca12
46ca1b:	8b c2                	mov    %edx,%eax
46ca1d:	c3                   	ret
46ca1e:	8b 01                	mov    (%ecx),%eax
46ca20:	83 21 00             	andl   $0x0,(%ecx)
46ca23:	c3                   	ret
46ca24:	8b 01                	mov    (%ecx),%eax
46ca26:	83 21 00             	andl   $0x0,(%ecx)
46ca29:	c3                   	ret
46ca2a:	e9 88 12 01 00       	jmp    0x47dcb7
46ca2f:	c3                   	ret
46ca30:	8b ff                	mov    %edi,%edi
46ca32:	55                   	push   %ebp
46ca33:	8b ec                	mov    %esp,%ebp
46ca35:	5d                   	pop    %ebp
46ca36:	e9 8a 0c 01 00       	jmp    0x47d6c5
46ca3b:	8b ff                	mov    %edi,%edi
46ca3d:	55                   	push   %ebp
46ca3e:	8b ec                	mov    %esp,%ebp
46ca40:	5d                   	pop    %ebp
46ca41:	e9 8a 0c 01 00       	jmp    0x47d6d0
46ca46:	8b 01                	mov    (%ecx),%eax
46ca48:	c3                   	ret
46ca49:	8b 01                	mov    (%ecx),%eax
46ca4b:	c3                   	ret
46ca4c:	8b 01                	mov    (%ecx),%eax
46ca4e:	c3                   	ret
46ca4f:	8b c1                	mov    %ecx,%eax
46ca51:	c3                   	ret
46ca52:	8b c1                	mov    %ecx,%eax
46ca54:	c3                   	ret
46ca55:	b8 f0 be 4b 00       	mov    $0x4bbef0,%eax
46ca5a:	c3                   	ret
46ca5b:	b8 f4 be 4b 00       	mov    $0x4bbef4,%eax
46ca60:	c3                   	ret
46ca61:	a1 f8 be 4b 00       	mov    0x4bbef8,%eax
46ca66:	c3                   	ret
46ca67:	a1 fc be 4b 00       	mov    0x4bbefc,%eax
46ca6c:	c3                   	ret
46ca6d:	33 c0                	xor    %eax,%eax
46ca6f:	39 01                	cmp    %eax,(%ecx)
46ca71:	0f 95 c0             	setne  %al
46ca74:	c3                   	ret
46ca75:	8b ff                	mov    %edi,%edi
46ca77:	56                   	push   %esi
46ca78:	8b f1                	mov    %ecx,%esi
46ca7a:	ff 36                	push   (%esi)
46ca7c:	e8 b8 58 00 00       	call   0x472339
46ca81:	83 26 00             	andl   $0x0,(%esi)
46ca84:	59                   	pop    %ecx
46ca85:	5e                   	pop    %esi
46ca86:	c3                   	ret
46ca87:	8b ff                	mov    %edi,%edi
46ca89:	56                   	push   %esi
46ca8a:	8b f1                	mov    %ecx,%esi
46ca8c:	ff 36                	push   (%esi)
46ca8e:	e8 a6 58 00 00       	call   0x472339
46ca93:	83 26 00             	andl   $0x0,(%esi)
46ca96:	59                   	pop    %ecx
46ca97:	5e                   	pop    %esi
46ca98:	c3                   	ret
46ca99:	8b ff                	mov    %edi,%edi
46ca9b:	55                   	push   %ebp
46ca9c:	8b ec                	mov    %esp,%ebp
46ca9e:	0f be 45 08          	movsbl 0x8(%ebp),%eax
46caa2:	50                   	push   %eax
46caa3:	e8 7f 17 01 00       	call   0x47e227
46caa8:	f7 d8                	neg    %eax
46caaa:	59                   	pop    %ecx
46caab:	1b c0                	sbb    %eax,%eax
46caad:	f7 d8                	neg    %eax
46caaf:	5d                   	pop    %ebp
46cab0:	c3                   	ret
46cab1:	32 c0                	xor    %al,%al
46cab3:	c3                   	ret
46cab4:	8b ff                	mov    %edi,%edi
46cab6:	55                   	push   %ebp
46cab7:	8b ec                	mov    %esp,%ebp
46cab9:	56                   	push   %esi
46caba:	8b 75 08             	mov    0x8(%ebp),%esi
46cabd:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
46cac3:	72 04                	jb     0x46cac9
46cac5:	33 c0                	xor    %eax,%eax
46cac7:	eb 3d                	jmp    0x46cb06
46cac9:	57                   	push   %edi
46caca:	83 cf ff             	or     $0xffffffff,%edi
46cacd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46cad0:	33 d2                	xor    %edx,%edx
46cad2:	8b c7                	mov    %edi,%eax
46cad4:	f7 75 10             	divl   0x10(%ebp)
46cad7:	3b c8                	cmp    %eax,%ecx
46cad9:	73 0d                	jae    0x46cae8
46cadb:	0f af 4d 10          	imul   0x10(%ebp),%ecx
46cadf:	c1 e6 02             	shl    $0x2,%esi
46cae2:	2b fe                	sub    %esi,%edi
46cae4:	3b f9                	cmp    %ecx,%edi
46cae6:	77 04                	ja     0x46caec
46cae8:	33 c0                	xor    %eax,%eax
46caea:	eb 19                	jmp    0x46cb05
46caec:	8d 04 31             	lea    (%ecx,%esi,1),%eax
46caef:	6a 01                	push   $0x1
46caf1:	50                   	push   %eax
46caf2:	e8 5c 57 00 00       	call   0x472253
46caf7:	6a 00                	push   $0x0
46caf9:	8b f0                	mov    %eax,%esi
46cafb:	e8 39 58 00 00       	call   0x472339
46cb00:	83 c4 0c             	add    $0xc,%esp
46cb03:	8b c6                	mov    %esi,%eax
46cb05:	5f                   	pop    %edi
46cb06:	5e                   	pop    %esi
46cb07:	5d                   	pop    %ebp
46cb08:	c3                   	ret
46cb09:	8b ff                	mov    %edi,%edi
46cb0b:	55                   	push   %ebp