46f83e:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
46f841:	0f 94 c0             	sete   %al
46f844:	81 e6 00 07 00 00    	and    $0x700,%esi
46f84a:	f7 d8                	neg    %eax
46f84c:	1b c0                	sbb    %eax,%eax
46f84e:	25 00 f4 ff ff       	and    $0xfffff400,%eax
46f853:	05 00 10 00 00       	add    $0x1000,%eax
46f858:	85 c1                	test   %eax,%ecx
46f85a:	0f 84 b6 00 00 00    	je     0x46f916
46f860:	85 d2                	test   %edx,%edx
46f862:	74 13                	je     0x46f877
46f864:	33 c0                	xor    %eax,%eax
46f866:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f86c:	0f 94 c0             	sete   %al
46f86f:	89 45 e0             	mov    %eax,-0x20(%ebp)
46f872:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46f875:	eb 0e                	jmp    0x46f885
46f877:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46f87a:	85 c0                	test   %eax,%eax
46f87c:	6a 00                	push   $0x0
46f87e:	59                   	pop    %ecx
46f87f:	0f 94 c1             	sete   %cl
46f882:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46f885:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46f889:	74 08                	je     0x46f893
46f88b:	81 fe 00 05 00 00    	cmp    $0x500,%esi
46f891:	74 48                	je     0x46f8db
46f893:	33 c9                	xor    %ecx,%ecx
46f895:	85 d2                	test   %edx,%edx
46f897:	74 08                	je     0x46f8a1
46f899:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f89f:	eb 02                	jmp    0x46f8a3
46f8a1:	85 c0                	test   %eax,%eax
46f8a3:	0f 94 c1             	sete   %cl
46f8a6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46f8a9:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46f8ad:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f8b0:	74 08                	je     0x46f8ba
46f8b2:	81 fe 00 06 00 00    	cmp    $0x600,%esi
46f8b8:	74 21                	je     0x46f8db
46f8ba:	85 d2                	test   %edx,%edx
46f8bc:	74 0a                	je     0x46f8c8
46f8be:	33 d2                	xor    %edx,%edx
46f8c0:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f8c6:	eb 04                	jmp    0x46f8cc
46f8c8:	33 d2                	xor    %edx,%edx
46f8ca:	85 c0                	test   %eax,%eax
46f8cc:	0f 94 c2             	sete   %dl
46f8cf:	85 d2                	test   %edx,%edx
46f8d1:	74 43                	je     0x46f916
46f8d3:	81 fe 00 04 00 00    	cmp    $0x400,%esi
46f8d9:	75 3b                	jne    0x46f916
46f8db:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f8de:	c7 45 f8 e0 13 4a 00 	movl   $0x4a13e0,-0x8(%ebp)
46f8e5:	50                   	push   %eax
46f8e6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f8e9:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
46f8f0:	e8 f1 ee ff ff       	call   0x46e7e6
46f8f5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f8f8:	51                   	push   %ecx
46f8f9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f8fc:	51                   	push   %ecx
46f8fd:	8b c8                	mov    %eax,%ecx
46f8ff:	e8 79 f2 ff ff       	call   0x46eb7d
46f904:	8b 75 fc             	mov    -0x4(%ebp),%esi
46f907:	8b 7d f8             	mov    -0x8(%ebp),%edi
46f90a:	89 7d f0             	mov    %edi,-0x10(%ebp)
46f90d:	89 75 e8             	mov    %esi,-0x18(%ebp)
46f910:	89 75 f4             	mov    %esi,-0xc(%ebp)
46f913:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f916:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46f91b:	8b 75 d0             	mov    -0x30(%ebp),%esi
46f91e:	c1 e8 07             	shr    $0x7,%eax
46f921:	f7 d0                	not    %eax
46f923:	a8 01                	test   $0x1,%al
46f925:	0f 84 fd 00 00 00    	je     0x46fa28
46f92b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46f92e:	33 c0                	xor    %eax,%eax
46f930:	85 f6                	test   %esi,%esi
46f932:	74 08                	je     0x46f93c
46f934:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f93a:	eb 02                	jmp    0x46f93e
46f93c:	85 d2                	test   %edx,%edx
46f93e:	0f 94 c0             	sete   %al
46f941:	85 c0                	test   %eax,%eax
46f943:	74 32                	je     0x46f977
46f945:	85 f6                	test   %esi,%esi
46f947:	74 0f                	je     0x46f958
46f949:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
46f94d:	8b c1                	mov    %ecx,%eax
46f94f:	24 c0                	and    $0xc0,%al
46f951:	3c 40                	cmp    $0x40,%al
46f953:	8b 45 cc             	mov    -0x34(%ebp),%eax
46f956:	eb 08                	jmp    0x46f960
46f958:	33 c0                	xor    %eax,%eax
46f95a:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f960:	0f 94 c0             	sete   %al
46f963:	85 c0                	test   %eax,%eax
46f965:	74 10                	je     0x46f977
46f967:	c7 45 f8 ec 13 4a 00 	movl   $0x4a13ec,-0x8(%ebp)
46f96e:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
46f975:	eb 47                	jmp    0x46f9be
46f977:	33 c0                	xor    %eax,%eax
46f979:	85 f6                	test   %esi,%esi
46f97b:	74 08                	je     0x46f985
46f97d:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f983:	eb 02                	jmp    0x46f987
46f985:	85 d2                	test   %edx,%edx
46f987:	0f 94 c0             	sete   %al
46f98a:	85 c0                	test   %eax,%eax
46f98c:	74 59                	je     0x46f9e7
46f98e:	85 f6                	test   %esi,%esi
46f990:	74 0f                	je     0x46f9a1
46f992:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
46f996:	8b c1                	mov    %ecx,%eax
46f998:	24 c0                	and    $0xc0,%al
46f99a:	3c 80                	cmp    $0x80,%al
46f99c:	8b 45 cc             	mov    -0x34(%ebp),%eax
46f99f:	eb 08                	jmp    0x46f9a9
46f9a1:	33 c0                	xor    %eax,%eax
46f9a3:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
46f9a9:	0f 94 c0             	sete   %al
46f9ac:	85 c0                	test   %eax,%eax
46f9ae:	74 37                	je     0x46f9e7
46f9b0:	c7 45 f8 f8 13 4a 00 	movl   $0x4a13f8,-0x8(%ebp)
46f9b7:	c7 45 fc 0b 00 00 00 	movl   $0xb,-0x4(%ebp)
46f9be:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f9c1:	50                   	push   %eax
46f9c2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f9c5:	e8 1c ee ff ff       	call   0x46e7e6
46f9ca:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f9cd:	51                   	push   %ecx
46f9ce:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f9d1:	51                   	push   %ecx
46f9d2:	8b c8                	mov    %eax,%ecx
46f9d4:	e8 a4 f1 ff ff       	call   0x46eb7d
46f9d9:	8b 7d f8             	mov    -0x8(%ebp),%edi
46f9dc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46f9df:	89 7d f0             	mov    %edi,-0x10(%ebp)
46f9e2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46f9e5:	eb 44                	jmp    0x46fa2b
46f9e7:	33 c0                	xor    %eax,%eax
46f9e9:	85 f6                	test   %esi,%esi
46f9eb:	74 08                	je     0x46f9f5
46f9ed:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46f9f3:	eb 02                	jmp    0x46f9f7
46f9f5:	85 d2                	test   %edx,%edx
46f9f7:	0f 94 c0             	sete   %al
46f9fa:	85 c0                	test   %eax,%eax
46f9fc:	74 2a                	je     0x46fa28
46f9fe:	85 f6                	test   %esi,%esi
46fa00:	74 08                	je     0x46fa0a
46fa02:	6a 00                	push   $0x0
46fa04:	f6 c1 c0             	test   $0xc0,%cl
46fa07:	58                   	pop    %eax
46fa08:	eb 04                	jmp    0x46fa0e
46fa0a:	33 c0                	xor    %eax,%eax
46fa0c:	85 db                	test   %ebx,%ebx
46fa0e:	0f 94 c0             	sete   %al
46fa11:	85 c0                	test   %eax,%eax
46fa13:	74 13                	je     0x46fa28
46fa15:	c7 45 f8 04 14 4a 00 	movl   $0x4a1404,-0x8(%ebp)
46fa1c:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
46fa23:	eb 99                	jmp    0x46f9be
46fa25:	8b 75 d0             	mov    -0x30(%ebp),%esi
46fa28:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46fa2b:	33 c0                	xor    %eax,%eax
46fa2d:	85 f6                	test   %esi,%esi
46fa2f:	74 08                	je     0x46fa39
46fa31:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46fa37:	eb 03                	jmp    0x46fa3c
46fa39:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
46fa3c:	8b 75 ec             	mov    -0x14(%ebp),%esi
46fa3f:	0f 94 c0             	sete   %al
46fa42:	f7 d8                	neg    %eax
46fa44:	ba 00 10 00 00       	mov    $0x1000,%edx
46fa49:	1b c0                	sbb    %eax,%eax
46fa4b:	25 00 f4 ff ff       	and    $0xfffff400,%eax
46fa50:	03 c2                	add    %edx,%eax
46fa52:	85 c6                	test   %eax,%esi
46fa54:	74 3d                	je     0x46fa93
46fa56:	85 15 94 83 4c 00    	test   %edx,0x4c8394
46fa5c:	75 35                	jne    0x46fa93
46fa5e:	8d 45 f8             	lea    -0x8(%ebp),%eax
46fa61:	c7 45 f8 10 14 4a 00 	movl   $0x4a1410,-0x8(%ebp)
46fa68:	50                   	push   %eax
46fa69:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46fa6c:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
46fa73:	e8 6e ed ff ff       	call   0x46e7e6
46fa78:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46fa7b:	51                   	push   %ecx
46fa7c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46fa7f:	51                   	push   %ecx
46fa80:	8b c8                	mov    %eax,%ecx
46fa82:	e8 f6 f0 ff ff       	call   0x46eb7d
46fa87:	8b 7d f8             	mov    -0x8(%ebp),%edi
46fa8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46fa8d:	89 7d f0             	mov    %edi,-0x10(%ebp)
46fa90:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46fa93:	f7 c6 00 00 01 00    	test   $0x10000,%esi
46fa99:	74 2f                	je     0x46faca
46fa9b:	8d 45 f8             	lea    -0x8(%ebp),%eax
46fa9e:	c7 45 f8 1c 14 4a 00 	movl   $0x4a141c,-0x8(%ebp)
46faa5:	50                   	push   %eax
46faa6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46faa9:	c7 45 fc 0b 00 00 00 	movl   $0xb,-0x4(%ebp)
46fab0:	e8 31 ed ff ff       	call   0x46e7e6
46fab5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46fab8:	51                   	push   %ecx
46fab9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46fabc:	51                   	push   %ecx
46fabd:	8b c8                	mov    %eax,%ecx
46fabf:	e8 b9 f0 ff ff       	call   0x46eb7d
46fac4:	8b 7d f8             	mov    -0x8(%ebp),%edi
46fac7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46faca:	8b 45 08             	mov    0x8(%ebp),%eax
46facd:	89 38                	mov    %edi,(%eax)
46facf:	89 48 04             	mov    %ecx,0x4(%eax)
46fad2:	5f                   	pop    %edi
46fad3:	5e                   	pop    %esi
46fad4:	5b                   	pop    %ebx
46fad5:	c9                   	leave
46fad6:	c3                   	ret
46fad7:	55                   	push   %ebp
46fad8:	8b ec                	mov    %esp,%ebp
46fada:	53                   	push   %ebx
46fadb:	8a 5d 08             	mov    0x8(%ebp),%bl
46fade:	56                   	push   %esi
46fadf:	8b f1                	mov    %ecx,%esi
46fae1:	84 db                	test   %bl,%bl
46fae3:	74 24                	je     0x46fb09
46fae5:	6a 08                	push   $0x8
46fae7:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46faec:	e8 42 23 00 00       	call   0x471e33
46faf1:	85 c0                	test   %eax,%eax
46faf3:	74 0d                	je     0x46fb02
46faf5:	c7 00 58 16 4a 00    	movl   $0x4a1658,(%eax)
46fafb:	88 58 04             	mov    %bl,0x4(%eax)
46fafe:	89 06                	mov    %eax,(%esi)
46fb00:	eb 07                	jmp    0x46fb09
46fb02:	83 26 00             	andl   $0x0,(%esi)
46fb05:	c6 46 04 03          	movb   $0x3,0x4(%esi)
46fb09:	5e                   	pop    %esi
46fb0a:	5b                   	pop    %ebx
46fb0b:	5d                   	pop    %ebp
46fb0c:	c2 04 00             	ret    $0x4
46fb0f:	55                   	push   %ebp
46fb10:	8b ec                	mov    %esp,%ebp
46fb12:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
46fb17:	83 ec 10             	sub    $0x10,%esp
46fb1a:	80 38 00             	cmpb   $0x0,(%eax)
46fb1d:	75 04                	jne    0x46fb23
46fb1f:	6a 01                	push   $0x1
46fb21:	eb 47                	jmp    0x46fb6a
46fb23:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46fb27:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46fb2a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46fb2e:	6a 26                	push   $0x26
46fb30:	e8 a2 ff ff ff       	call   0x46fad7
46fb35:	8d 45 f0             	lea    -0x10(%ebp),%eax
46fb38:	50                   	push   %eax
46fb39:	e8 17 3f 00 00       	call   0x473a55
46fb3e:	59                   	pop    %ecx
46fb3f:	50                   	push   %eax
46fb40:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46fb43:	e8 f3 f0 ff ff       	call   0x46ec3b
46fb48:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
46fb4d:	80 38 40             	cmpb   $0x40,(%eax)
46fb50:	75 16                	jne    0x46fb68
46fb52:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46fb55:	40                   	inc    %eax
46fb56:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
46fb5b:	8b 45 08             	mov    0x8(%ebp),%eax
46fb5e:	89 08                	mov    %ecx,(%eax)
46fb60:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46fb63:	89 48 04             	mov    %ecx,0x4(%eax)
46fb66:	c9                   	leave
46fb67:	c3                   	ret
46fb68:	6a 02                	push   $0x2
46fb6a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46fb6d:	e8 e4 ec ff ff       	call   0x46e856
46fb72:	8b 45 08             	mov    0x8(%ebp),%eax
46fb75:	c9                   	leave
46fb76:	c3                   	ret
46fb77:	55                   	push   %ebp
46fb78:	8b ec                	mov    %esp,%ebp
46fb7a:	83 ec 18             	sub    $0x18,%esp
46fb7d:	53                   	push   %ebx
46fb7e:	56                   	push   %esi
46fb7f:	8b 75 08             	mov    0x8(%ebp),%esi
46fb82:	33 db                	xor    %ebx,%ebx
46fb84:	43                   	inc    %ebx
46fb85:	57                   	push   %edi
46fb86:	83 26 00             	andl   $0x0,(%esi)
46fb89:	83 66 04 00          	andl   $0x0,0x4(%esi)
46fb8d:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
46fb92:	8a 00                	mov    (%eax),%al
46fb94:	3c 40                	cmp    $0x40,%al
46fb96:	0f 84 3e 01 00 00    	je     0x46fcda
46fb9c:	3c 5a                	cmp    $0x5a,%al
46fb9e:	0f 84 36 01 00 00    	je     0x46fcda
46fba4:	85 db                	test   %ebx,%ebx
46fba6:	74 04                	je     0x46fbac
46fba8:	33 db                	xor    %ebx,%ebx
46fbaa:	eb 09                	jmp    0x46fbb5
46fbac:	6a 2c                	push   $0x2c
46fbae:	8b ce                	mov    %esi,%ecx
46fbb0:	e8 dd f0 ff ff       	call   0x46ec92
46fbb5:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
46fbba:	8a 00                	mov    (%eax),%al
46fbbc:	84 c0                	test   %al,%al
46fbbe:	0f 84 f6 00 00 00    	je     0x46fcba
46fbc4:	0f be c0             	movsbl %al,%eax
46fbc7:	83 c0 d0             	add    $0xffffffd0,%eax
46fbca:	83 f8 09             	cmp    $0x9,%eax
46fbcd:	0f 87 80 00 00 00    	ja     0x46fc53
46fbd3:	8b 0d 80 83 4c 00    	mov    0x4c8380,%ecx
46fbd9:	ff 05 8c 83 4c 00    	incl   0x4c838c
46fbdf:	50                   	push   %eax
46fbe0:	8d 45 e8             	lea    -0x18(%ebp),%eax
46fbe3:	50                   	push   %eax
46fbe4:	e8 c7 ee ff ff       	call   0x46eab0
46fbe9:	80 7e 04 01          	cmpb   $0x1,0x4(%esi)
46fbed:	8b c8                	mov    %eax,%ecx
46fbef:	0f 8f b9 00 00 00    	jg     0x46fcae
46fbf5:	83 3e 00             	cmpl   $0x0,(%esi)
46fbf8:	8b 01                	mov    (%ecx),%eax
46fbfa:	75 22                	jne    0x46fc1e
46fbfc:	85 c0                	test   %eax,%eax
46fbfe:	75 11                	jne    0x46fc11
46fc00:	0f be 41 04          	movsbl 0x4(%ecx),%eax
46fc04:	50                   	push   %eax
46fc05:	8b ce                	mov    %esi,%ecx
46fc07:	e8 72 ee ff ff       	call   0x46ea7e
46fc0c:	e9 9d 00 00 00       	jmp    0x46fcae
46fc11:	89 06                	mov    %eax,(%esi)
46fc13:	8b 41 04             	mov    0x4(%ecx),%eax
46fc16:	89 46 04             	mov    %eax,0x4(%esi)
46fc19:	e9 90 00 00 00       	jmp    0x46fcae
46fc1e:	85 c0                	test   %eax,%eax
46fc20:	75 27                	jne    0x46fc49
46fc22:	0f be 41 04          	movsbl 0x4(%ecx),%eax
46fc26:	85 c0                	test   %eax,%eax
46fc28:	0f 84 80 00 00 00    	je     0x46fcae
46fc2e:	83 f8 02             	cmp    $0x2,%eax
46fc31:	74 d1                	je     0x46fc04
46fc33:	83 f8 03             	cmp    $0x3,%eax
46fc36:	74 cc                	je     0x46fc04
46fc38:	50                   	push   %eax
46fc39:	e8 8b 4e 00 00       	call   0x474ac9