47ea68:	77 0d                	ja     0x47ea77
47ea6a:	8b f2                	mov    %edx,%esi
47ea6c:	8d 56 02             	lea    0x2(%esi),%edx
47ea6f:	0f b7 02             	movzwl (%edx),%eax
47ea72:	66 3b c1             	cmp    %cx,%ax
47ea75:	73 ed                	jae    0x47ea64
47ea77:	8b 45 08             	mov    0x8(%ebp),%eax
47ea7a:	c7 00 3d 00 00 00    	movl   $0x3d,(%eax)
47ea80:	e9 6a a4 f8 ff       	jmp    0x408eef
47ea85:	8b d8                	mov    %eax,%ebx
47ea87:	e9 58 a4 f8 ff       	jmp    0x408ee4
47ea8c:	39 5d 14             	cmp    %ebx,0x14(%ebp)
47ea8f:	0f 85 5a a4 f8 ff    	jne    0x408eef
47ea95:	8d 46 02             	lea    0x2(%esi),%eax
47ea98:	89 45 f4             	mov    %eax,-0xc(%ebp)
47ea9b:	0f b7 10             	movzwl (%eax),%edx
47ea9e:	83 fa 3c             	cmp    $0x3c,%edx
47eaa1:	74 69                	je     0x47eb0c
47eaa3:	83 fa 27             	cmp    $0x27,%edx
47eaa6:	74 64                	je     0x47eb0c
47eaa8:	6a 30                	push   $0x30
47eaaa:	59                   	pop    %ecx
47eaab:	6a 39                	push   $0x39
47eaad:	58                   	pop    %eax
47eaae:	6a 00                	push   $0x0
47eab0:	89 45 f8             	mov    %eax,-0x8(%ebp)
47eab3:	c7 45 e4 7d 00 00 00 	movl   $0x7d,-0x1c(%ebp)
47eaba:	5b                   	pop    %ebx
47eabb:	66 3b 55 e8          	cmp    -0x18(%ebp),%dx
47eabf:	75 62                	jne    0x47eb23
47eac1:	8d 56 04             	lea    0x4(%esi),%edx
47eac4:	0f b7 02             	movzwl (%edx),%eax
47eac7:	66 85 c0             	test   %ax,%ax
47eaca:	74 48                	je     0x47eb14
47eacc:	6a 39                	push   $0x39
47eace:	5b                   	pop    %ebx
47eacf:	6a 2d                	push   $0x2d
47ead1:	5e                   	pop    %esi
47ead2:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
47ead6:	74 1a                	je     0x47eaf2
47ead8:	66 3b c6             	cmp    %si,%ax
47eadb:	74 0a                	je     0x47eae7
47eadd:	66 3b c1             	cmp    %cx,%ax
47eae0:	72 10                	jb     0x47eaf2
47eae2:	66 3b c3             	cmp    %bx,%ax
47eae5:	77 0b                	ja     0x47eaf2
47eae7:	83 c2 02             	add    $0x2,%edx
47eaea:	0f b7 02             	movzwl (%edx),%eax
47eaed:	66 85 c0             	test   %ax,%ax
47eaf0:	75 e0                	jne    0x47ead2
47eaf2:	0f b7 02             	movzwl (%edx),%eax
47eaf5:	8b 75 f0             	mov    -0x10(%ebp),%esi
47eaf8:	6a 00                	push   $0x0
47eafa:	5b                   	pop    %ebx
47eafb:	66 85 c0             	test   %ax,%ax
47eafe:	74 14                	je     0x47eb14
47eb00:	6a 7d                	push   $0x7d
47eb02:	5a                   	pop    %edx
47eb03:	66 3b c2             	cmp    %dx,%ax
47eb06:	74 0c                	je     0x47eb14
47eb08:	6a 1c                	push   $0x1c
47eb0a:	eb 02                	jmp    0x47eb0e
47eb0c:	6a 1b                	push   $0x1b
47eb0e:	5b                   	pop    %ebx
47eb0f:	e9 db a3 f8 ff       	jmp    0x408eef
47eb14:	8b 75 f4             	mov    -0xc(%ebp),%esi
47eb17:	6a 39                	push   $0x39
47eb19:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
47eb20:	58                   	pop    %eax
47eb21:	eb 03                	jmp    0x47eb26
47eb23:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47eb26:	6a 2d                	push   $0x2d
47eb28:	59                   	pop    %ecx
47eb29:	66 39 4e 02          	cmp    %cx,0x2(%esi)
47eb2d:	75 05                	jne    0x47eb34
47eb2f:	83 c6 02             	add    $0x2,%esi
47eb32:	eb 03                	jmp    0x47eb37
47eb34:	89 5d ec             	mov    %ebx,-0x14(%ebp)
47eb37:	8b d3                	mov    %ebx,%edx
47eb39:	8d 5e 02             	lea    0x2(%esi),%ebx
47eb3c:	6a 30                	push   $0x30
47eb3e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
47eb41:	0f b7 1b             	movzwl (%ebx),%ebx
47eb44:	59                   	pop    %ecx
47eb45:	6a 00                	push   $0x0
47eb47:	89 5d f4             	mov    %ebx,-0xc(%ebp)
47eb4a:	66 3b d9             	cmp    %cx,%bx
47eb4d:	5b                   	pop    %ebx
47eb4e:	72 30                	jb     0x47eb80
47eb50:	66 39 45 f4          	cmp    %ax,-0xc(%ebp)
47eb54:	77 2a                	ja     0x47eb80
47eb56:	81 fa cb cc cc 0c    	cmp    $0xccccccb,%edx
47eb5c:	7f 4d                	jg     0x47ebab
47eb5e:	8b 75 f0             	mov    -0x10(%ebp),%esi
47eb61:	6b d2 0a             	imul   $0xa,%edx,%edx
47eb64:	0f b7 06             	movzwl (%esi),%eax
47eb67:	83 c0 d0             	add    $0xffffffd0,%eax
47eb6a:	03 d0                	add    %eax,%edx
47eb6c:	8d 46 02             	lea    0x2(%esi),%eax
47eb6f:	89 45 f0             	mov    %eax,-0x10(%ebp)
47eb72:	0f b7 00             	movzwl (%eax),%eax
47eb75:	6a 39                	push   $0x39
47eb77:	89 45 f4             	mov    %eax,-0xc(%ebp)
47eb7a:	66 3b c1             	cmp    %cx,%ax
47eb7d:	58                   	pop    %eax
47eb7e:	73 d0                	jae    0x47eb50
47eb80:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
47eb84:	74 35                	je     0x47ebbb
47eb86:	6a 7d                	push   $0x7d
47eb88:	83 c6 02             	add    $0x2,%esi
47eb8b:	58                   	pop    %eax
47eb8c:	66 39 06             	cmp    %ax,(%esi)
47eb8f:	74 2a                	je     0x47ebbb
47eb91:	8b 45 08             	mov    0x8(%ebp),%eax
47eb94:	c7 00 39 00 00 00    	movl   $0x39,(%eax)
47eb9a:	e9 50 a3 f8 ff       	jmp    0x408eef
47eb9f:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
47eba3:	0f 87 ce fe ff ff    	ja     0x47ea77
47eba9:	8b f2                	mov    %edx,%esi
47ebab:	8d 56 02             	lea    0x2(%esi),%edx
47ebae:	0f b7 02             	movzwl (%edx),%eax
47ebb1:	66 3b c1             	cmp    %cx,%ax
47ebb4:	73 e9                	jae    0x47eb9f
47ebb6:	e9 bc fe ff ff       	jmp    0x47ea77
47ebbb:	85 d2                	test   %edx,%edx
47ebbd:	75 0e                	jne    0x47ebcd
47ebbf:	8b 45 08             	mov    0x8(%ebp),%eax
47ebc2:	c7 00 3a 00 00 00    	movl   $0x3a,(%eax)
47ebc8:	e9 22 a3 f8 ff       	jmp    0x408eef
47ebcd:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
47ebd1:	74 1a                	je     0x47ebed
47ebd3:	8b 45 0c             	mov    0xc(%ebp),%eax
47ebd6:	3b d0                	cmp    %eax,%edx
47ebd8:	7e 0e                	jle    0x47ebe8
47ebda:	8b 45 08             	mov    0x8(%ebp),%eax
47ebdd:	c7 00 0f 00 00 00    	movl   $0xf,(%eax)
47ebe3:	e9 07 a3 f8 ff       	jmp    0x408eef
47ebe8:	2b c2                	sub    %edx,%eax
47ebea:	8d 50 01             	lea    0x1(%eax),%edx
47ebed:	8b da                	mov    %edx,%ebx
47ebef:	e9 f0 a2 f8 ff       	jmp    0x408ee4
47ebf4:	83 ff 6c             	cmp    $0x6c,%edi
47ebf7:	0f 84 24 03 00 00    	je     0x47ef21
47ebfd:	83 ff 6f             	cmp    $0x6f,%edi
47ec00:	0f 84 89 02 00 00    	je     0x47ee8f
47ec06:	83 ff 75             	cmp    $0x75,%edi
47ec09:	0f 84 b2 01 00 00    	je     0x47edc1
47ec0f:	83 ff 78             	cmp    $0x78,%edi
47ec12:	75 6f                	jne    0x47ec83
47ec14:	f7 45 10 00 00 00 02 	testl  $0x2000000,0x10(%ebp)
47ec1b:	ba ff 00 00 00       	mov    $0xff,%edx
47ec20:	74 79                	je     0x47ec9b
47ec22:	0f b7 46 02          	movzwl 0x2(%esi),%eax
47ec26:	66 3b c2             	cmp    %dx,%ax
47ec29:	0f 87 c0 a2 f8 ff    	ja     0x408eef
47ec2f:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ec36:	0f 84 b3 a2 f8 ff    	je     0x408eef
47ec3c:	0f b7 46 04          	movzwl 0x4(%esi),%eax
47ec40:	66 3b c2             	cmp    %dx,%ax
47ec43:	0f 87 a6 a2 f8 ff    	ja     0x408eef
47ec49:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ec50:	0f 84 99 a2 f8 ff    	je     0x408eef
47ec56:	6a 02                	push   $0x2
47ec58:	8b fb                	mov    %ebx,%edi
47ec5a:	5a                   	pop    %edx
47ec5b:	83 c6 02             	add    $0x2,%esi
47ec5e:	0f b7 0e             	movzwl (%esi),%ecx
47ec61:	83 f9 61             	cmp    $0x61,%ecx
47ec64:	72 03                	jb     0x47ec69
47ec66:	83 e9 20             	sub    $0x20,%ecx
47ec69:	83 f9 41             	cmp    $0x41,%ecx
47ec6c:	1b c0                	sbb    %eax,%eax
47ec6e:	83 e0 f9             	and    $0xfffffff9,%eax
47ec71:	c1 e7 04             	shl    $0x4,%edi
47ec74:	83 c0 37             	add    $0x37,%eax
47ec77:	2b f8                	sub    %eax,%edi
47ec79:	03 f9                	add    %ecx,%edi
47ec7b:	4a                   	dec    %edx
47ec7c:	75 dd                	jne    0x47ec5b
47ec7e:	e9 6c a2 f8 ff       	jmp    0x408eef
47ec83:	f6 45 10 40          	testb  $0x40,0x10(%ebp)
47ec87:	0f 84 62 a2 f8 ff    	je     0x408eef
47ec8d:	8b 45 08             	mov    0x8(%ebp),%eax
47ec90:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
47ec96:	e9 54 a2 f8 ff       	jmp    0x408eef
47ec9b:	66 83 7e 02 7b       	cmpw   $0x7b,0x2(%esi)
47eca0:	8b fb                	mov    %ebx,%edi
47eca2:	0f 85 c8 00 00 00    	jne    0x47ed70
47eca8:	83 c6 04             	add    $0x4,%esi
47ecab:	0f b7 06             	movzwl (%esi),%eax
47ecae:	66 3b c2             	cmp    %dx,%ax
47ecb1:	77 58                	ja     0x47ed0b
47ecb3:	6a 30                	push   $0x30
47ecb5:	59                   	pop    %ecx
47ecb6:	0f b7 c0             	movzwl %ax,%eax
47ecb9:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ecbc:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ecc3:	74 46                	je     0x47ed0b
47ecc5:	83 c6 02             	add    $0x2,%esi
47ecc8:	85 ff                	test   %edi,%edi
47ecca:	75 04                	jne    0x47ecd0
47eccc:	3b c1                	cmp    %ecx,%eax
47ecce:	74 33                	je     0x47ed03
47ecd0:	83 f8 61             	cmp    $0x61,%eax
47ecd3:	72 06                	jb     0x47ecdb
47ecd5:	83 e8 20             	sub    $0x20,%eax
47ecd8:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ecdb:	83 f8 41             	cmp    $0x41,%eax
47ecde:	1b c0                	sbb    %eax,%eax
47ece0:	83 e0 f9             	and    $0xfffffff9,%eax
47ece3:	83 c0 37             	add    $0x37,%eax
47ece6:	c1 e7 04             	shl    $0x4,%edi
47ece9:	2b f8                	sub    %eax,%edi
47eceb:	03 7d ec             	add    -0x14(%ebp),%edi
47ecee:	8b 45 fc             	mov    -0x4(%ebp),%eax
47ecf1:	f7 d8                	neg    %eax
47ecf3:	1b c0                	sbb    %eax,%eax
47ecf5:	25 00 00 10 00       	and    $0x100000,%eax
47ecfa:	05 ff ff 00 00       	add    $0xffff,%eax
47ecff:	3b f8                	cmp    %eax,%edi
47ed01:	77 22                	ja     0x47ed25
47ed03:	0f b7 06             	movzwl (%esi),%eax
47ed06:	66 3b c2             	cmp    %dx,%ax
47ed09:	76 ab                	jbe    0x47ecb6
47ed0b:	66 83 3e 7d          	cmpw   $0x7d,(%esi)
47ed0f:	75 51                	jne    0x47ed62
47ed11:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
47ed14:	eb 27                	jmp    0x47ed3d
47ed16:	0f b7 c0             	movzwl %ax,%eax
47ed19:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ed20:	74 0b                	je     0x47ed2d
47ed22:	83 c6 02             	add    $0x2,%esi
47ed25:	0f b7 06             	movzwl (%esi),%eax
47ed28:	66 3b c2             	cmp    %dx,%ax
47ed2b:	76 e9                	jbe    0x47ed16
47ed2d:	8b 45 08             	mov    0x8(%ebp),%eax
47ed30:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
47ed36:	e9 b4 a1 f8 ff       	jmp    0x408eef
47ed3b:	85 d2                	test   %edx,%edx
47ed3d:	0f 84 ac a1 f8 ff    	je     0x408eef
47ed43:	8d 87 00 28 ff ff    	lea    -0xd800(%edi),%eax
47ed49:	3d ff 07 00 00       	cmp    $0x7ff,%eax
47ed4e:	0f 87 9b a1 f8 ff    	ja     0x408eef
47ed54:	8b 45 08             	mov    0x8(%ebp),%eax
47ed57:	c7 00 49 00 00 00    	movl   $0x49,(%eax)
47ed5d:	e9 8d a1 f8 ff       	jmp    0x408eef
47ed62:	8b 45 08             	mov    0x8(%ebp),%eax
47ed65:	c7 00 4f 00 00 00    	movl   $0x4f,(%eax)
47ed6b:	e9 7f a1 f8 ff       	jmp    0x408eef
47ed70:	8d 46 02             	lea    0x2(%esi),%eax
47ed73:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47ed76:	0f b7 00             	movzwl (%eax),%eax
47ed79:	41                   	inc    %ecx
47ed7a:	66 3b c2             	cmp    %dx,%ax
47ed7d:	0f 87 6c a1 f8 ff    	ja     0x408eef
47ed83:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ed8a:	0f 84 5f a1 f8 ff    	je     0x408eef
47ed90:	8b 75 e4             	mov    -0x1c(%ebp),%esi
47ed93:	0f b7 06             	movzwl (%esi),%eax
47ed96:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ed99:	83 f8 61             	cmp    $0x61,%eax
47ed9c:	72 06                	jb     0x47eda4
47ed9e:	83 e8 20             	sub    $0x20,%eax
47eda1:	89 45 ec             	mov    %eax,-0x14(%ebp)
47eda4:	83 f8 41             	cmp    $0x41,%eax
47eda7:	1b c0                	sbb    %eax,%eax
47eda9:	83 e0 f9             	and    $0xfffffff9,%eax
47edac:	c1 e7 04             	shl    $0x4,%edi
47edaf:	83 c0 37             	add    $0x37,%eax
47edb2:	2b f8                	sub    %eax,%edi
47edb4:	03 7d ec             	add    -0x14(%ebp),%edi
47edb7:	83 f9 02             	cmp    $0x2,%ecx
47edba:	7c b4                	jl     0x47ed70
47edbc:	e9 2e a1 f8 ff       	jmp    0x408eef
47edc1:	f7 45 10 00 00 00 02 	testl  $0x2000000,0x10(%ebp)
47edc8:	0f 84 7e 01 00 00    	je     0x47ef4c
47edce:	0f b7 46 02          	movzwl 0x2(%esi),%eax
47edd2:	ba ff 00 00 00       	mov    $0xff,%edx
47edd7:	66 3b c2             	cmp    %dx,%ax
47edda:	0f 87 0f a1 f8 ff    	ja     0x408eef
47ede0:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ede7:	0f 84 02 a1 f8 ff    	je     0x408eef
47eded:	0f b7 46 04          	movzwl 0x4(%esi),%eax
47edf1:	66 3b c2             	cmp    %dx,%ax
47edf4:	0f 87 f5 a0 f8 ff    	ja     0x408eef
47edfa:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ee01:	0f 84 e8 a0 f8 ff    	je     0x408eef
47ee07:	0f b7 46 06          	movzwl 0x6(%esi),%eax
47ee0b:	66 3b c2             	cmp    %dx,%ax
47ee0e:	0f 87 db a0 f8 ff    	ja     0x408eef
47ee14:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ee1b:	0f 84 ce a0 f8 ff    	je     0x408eef
47ee21:	0f b7 46 08          	movzwl 0x8(%esi),%eax
47ee25:	66 3b c2             	cmp    %dx,%ax
47ee28:	0f 87 c1 a0 f8 ff    	ja     0x408eef
47ee2e:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ee35:	0f 84 b4 a0 f8 ff    	je     0x408eef
47ee3b:	6a 04                	push   $0x4
47ee3d:	8b fb                	mov    %ebx,%edi
47ee3f:	5a                   	pop    %edx
47ee40:	83 c6 02             	add    $0x2,%esi
47ee43:	0f b7 0e             	movzwl (%esi),%ecx
47ee46:	83 f9 61             	cmp    $0x61,%ecx
47ee49:	72 03                	jb     0x47ee4e
47ee4b:	83 e9 20             	sub    $0x20,%ecx
47ee4e:	83 f9 41             	cmp    $0x41,%ecx
47ee51:	1b c0                	sbb    %eax,%eax
47ee53:	83 e0 f9             	and    $0xfffffff9,%eax
47ee56:	c1 e7 04             	shl    $0x4,%edi
47ee59:	83 c0 37             	add    $0x37,%eax
47ee5c:	2b f8                	sub    %eax,%edi
47ee5e:	03 f9                	add    %ecx,%edi
47ee60:	4a                   	dec    %edx
47ee61:	75 dd                	jne    0x47ee40
47ee63:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47ee66:	8b c1                	mov    %ecx,%eax
47ee68:	f7 d8                	neg    %eax
47ee6a:	1b c0                	sbb    %eax,%eax
47ee6c:	25 00 00 10 00       	and    $0x100000,%eax
47ee71:	05 ff ff 00 00       	add    $0xffff,%eax
47ee76:	3b f8                	cmp    %eax,%edi
47ee78:	76 0e                	jbe    0x47ee88
47ee7a:	8b 45 08             	mov    0x8(%ebp),%eax
47ee7d:	c7 00 4c 00 00 00    	movl   $0x4c,(%eax)
47ee83:	e9 67 a0 f8 ff       	jmp    0x408eef
47ee88:	85 c9                	test   %ecx,%ecx
47ee8a:	e9 ae fe ff ff       	jmp    0x47ed3d
47ee8f:	66 83 7e 02 7b       	cmpw   $0x7b,0x2(%esi)
47ee94:	74 0e                	je     0x47eea4
47ee96:	8b 45 08             	mov    0x8(%ebp),%eax
47ee99:	c7 00 51 00 00 00    	movl   $0x51,(%eax)
47ee9f:	e9 4b a0 f8 ff       	jmp    0x408eef
47eea4:	83 c6 04             	add    $0x4,%esi
47eea7:	6a 30                	push   $0x30
47eea9:	0f b7 06             	movzwl (%esi),%eax
47eeac:	59                   	pop    %ecx
47eead:	8b fb                	mov    %ebx,%edi
47eeaf:	66 3b c1             	cmp    %cx,%ax
47eeb2:	72 3c                	jb     0x47eef0
47eeb4:	6a 37                	push   $0x37
47eeb6:	5a                   	pop    %edx
47eeb7:	66 3b c2             	cmp    %dx,%ax
47eeba:	77 31                	ja     0x47eeed
47eebc:	83 c6 02             	add    $0x2,%esi
47eebf:	0f b7 c0             	movzwl %ax,%eax
47eec2:	85 ff                	test   %edi,%edi
47eec4:	75 04                	jne    0x47eeca
47eec6:	3b c1                	cmp    %ecx,%eax
47eec8:	74 1b                	je     0x47eee5
47eeca:	83 c0 d0             	add    $0xffffffd0,%eax