470c47:	e9 fb fe ff ff       	jmp    0x470b47
470c4c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470c50:	0f b6 89 60 e5 49 00 	movzbl 0x49e560(%ecx),%ecx
470c57:	03 c8                	add    %eax,%ecx
470c59:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
470c5c:	e9 e6 fe ff ff       	jmp    0x470b47
470c61:	0f b6 81 60 e5 49 00 	movzbl 0x49e560(%ecx),%eax
470c68:	eb da                	jmp    0x470c44
470c6a:	47                   	inc    %edi
470c6b:	83 c6 04             	add    $0x4,%esi
470c6e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
470c72:	0f 84 cf fe ff ff    	je     0x470b47
470c78:	66 8b 46 fe          	mov    -0x2(%esi),%ax
470c7c:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
470c81:	66 23 c1             	and    %cx,%ax
470c84:	b9 00 d8 00 00       	mov    $0xd800,%ecx
470c89:	66 3b c1             	cmp    %cx,%ax
470c8c:	0f 85 b5 fe ff ff    	jne    0x470b47
470c92:	83 c6 02             	add    $0x2,%esi
470c95:	e9 ad fe ff ff       	jmp    0x470b47
470c9a:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470c9e:	03 f8                	add    %eax,%edi
470ca0:	83 c6 06             	add    $0x6,%esi
470ca3:	eb c9                	jmp    0x470c6e
470ca5:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470ca9:	03 f8                	add    %eax,%edi
470cab:	0f b7 46 04          	movzwl 0x4(%esi),%eax
470caf:	83 f8 10             	cmp    $0x10,%eax
470cb2:	74 05                	je     0x470cb9
470cb4:	83 f8 0f             	cmp    $0xf,%eax
470cb7:	75 44                	jne    0x470cfd
470cb9:	83 c6 04             	add    $0x4,%esi
470cbc:	eb 3f                	jmp    0x470cfd
470cbe:	83 c6 04             	add    $0x4,%esi
470cc1:	47                   	inc    %edi
470cc2:	eb ce                	jmp    0x470c92
470cc4:	83 fa 70             	cmp    $0x70,%edx
470cc7:	75 09                	jne    0x470cd2
470cc9:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470ccd:	8d 34 46             	lea    (%esi,%eax,2),%esi
470cd0:	eb 03                	jmp    0x470cd5
470cd2:	83 c6 22             	add    $0x22,%esi
470cd5:	0f b7 06             	movzwl (%esi),%eax
470cd8:	83 f8 62             	cmp    $0x62,%eax
470cdb:	7c 28                	jl     0x470d05
470cdd:	83 f8 67             	cmp    $0x67,%eax
470ce0:	7e 2d                	jle    0x470d0f
470ce2:	83 f8 69             	cmp    $0x69,%eax
470ce5:	7e 0a                	jle    0x470cf1
470ce7:	83 f8 6c             	cmp    $0x6c,%eax
470cea:	7e 23                	jle    0x470d0f
470cec:	83 f8 6d             	cmp    $0x6d,%eax
470cef:	75 14                	jne    0x470d05
470cf1:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470cf5:	66 3b 46 04          	cmp    0x4(%esi),%ax
470cf9:	75 14                	jne    0x470d0f
470cfb:	03 f8                	add    %eax,%edi
470cfd:	83 c6 06             	add    $0x6,%esi
470d00:	e9 42 fe ff ff       	jmp    0x470b47
470d05:	47                   	inc    %edi
470d06:	e9 3c fe ff ff       	jmp    0x470b47
470d0b:	8b c3                	mov    %ebx,%eax
470d0d:	eb 10                	jmp    0x470d1f
470d0f:	83 c8 ff             	or     $0xffffffff,%eax
470d12:	eb 0b                	jmp    0x470d1f
470d14:	6a fd                	push   $0xfffffffd
470d16:	eb 06                	jmp    0x470d1e
470d18:	6a fe                	push   $0xfffffffe
470d1a:	eb 02                	jmp    0x470d1e
470d1c:	6a fc                	push   $0xfffffffc
470d1e:	58                   	pop    %eax
470d1f:	5f                   	pop    %edi
470d20:	5e                   	pop    %esi
470d21:	5b                   	pop    %ebx
470d22:	c9                   	leave
470d23:	c3                   	ret
470d24:	90                   	nop
470d25:	a8 0b                	test   $0xb,%al
470d27:	47                   	inc    %edi
470d28:	00 61 0c             	add    %ah,0xc(%ecx)
470d2b:	47                   	inc    %edi
470d2c:	00 c1                	add    %al,%cl
470d2e:	0c 47                	or     $0x47,%al
470d30:	00 18                	add    %bl,(%eax)
470d32:	0d 47 00 be 0c       	or     $0xcbe0047,%eax
470d37:	47                   	inc    %edi
470d38:	00 0f                	add    %cl,(%edi)
470d3a:	0d 47 00 6a 0c       	or     $0xc6a0047,%eax
470d3f:	47                   	inc    %edi
470d40:	00 9a 0c 47 00 a5    	add    %bl,-0x5affb8f4(%edx)
470d46:	0c 47                	or     $0x47,%al
470d48:	00 c4                	add    %al,%ah
470d4a:	0c 47                	or     $0x47,%al
470d4c:	00 cf                	add    %cl,%bh
470d4e:	0b 47 00             	or     0x0(%edi),%eax
470d51:	28 0c 47             	sub    %cl,(%edi,%eax,2)
470d54:	00 67 0b             	add    %ah,0xb(%edi)
470d57:	47                   	inc    %edi
470d58:	00 4c 0c 47          	add    %cl,0x47(%esp,%ecx,1)
470d5c:	00 1c 0d 47 00 00 01 	add    %bl,0x1000047(,%ecx,1)
470d63:	01 01                	add    %eax,(%ecx)
470d65:	01 01                	add    %eax,(%ecx)
470d67:	02 02                	add    (%edx),%al
470d69:	02 02                	add    (%edx),%al
470d6b:	02 02                	add    (%edx),%al
470d6d:	02 02                	add    (%edx),%al
470d6f:	03 04 04             	add    (%esp,%eax,1),%eax
470d72:	05 02 02 02 02       	add    $0x2020202,%eax
470d77:	05 01 01 01 01       	add    $0x1010101,%eax
470d7c:	01 01                	add    %eax,(%ecx)
470d7e:	06                   	push   %es
470d7f:	06                   	push   %es
470d80:	06                   	push   %es
470d81:	06                   	push   %es
470d82:	05 05 05 05 05       	add    $0x5050505,%eax
470d87:	05 05 05 07 05       	add    $0x5070505,%eax
470d8c:	05 05 05 05 05       	add    $0x5050505,%eax
470d91:	05 05 05 05 05       	add    $0x5050505,%eax
470d96:	05 07 05 05 05       	add    $0x5050507,%eax
470d9b:	05 05 05 05 05       	add    $0x5050505,%eax
470da0:	05 05 05 05 07       	add    $0x7050505,%eax
470da5:	05 05 05 05 05       	add    $0x5050505,%eax
470daa:	05 05 05 05 05       	add    $0x5050505,%eax
470daf:	05 05 07 05 05       	add    $0x5050705,%eax
470db4:	05 05 05 05 05       	add    $0x5050505,%eax
470db9:	05 05 05 05 05       	add    $0x5050505,%eax
470dbe:	08 05 05 05 05 0e    	or     %al,0xe050505
470dc4:	0e                   	push   %cs
470dc5:	0e                   	push   %cs
470dc6:	0e                   	push   %cs
470dc7:	0e                   	push   %cs
470dc8:	0e                   	push   %cs
470dc9:	0e                   	push   %cs
470dca:	0e                   	push   %cs
470dcb:	0e                   	push   %cs
470dcc:	0e                   	push   %cs
470dcd:	0e                   	push   %cs
470dce:	0e                   	push   %cs
470dcf:	09 09                	or     %ecx,(%ecx)
470dd1:	09 05 05 05 05 0a    	or     %eax,0xa050505
470dd7:	01 00                	add    %eax,(%eax)
470dd9:	00 05 05 05 01 0b    	add    %al,0xb010505
470ddf:	0b 0b                	or     (%ebx),%ecx
470de1:	0b 0c 0c             	or     (%esp,%ecx,1),%ecx
470de4:	0c 05                	or     $0x5,%al
470de6:	0c 05                	or     $0x5,%al
470de8:	0c 05                	or     $0x5,%al
470dea:	05 05 05 05 01       	add    $0x1050505,%eax
470def:	01 01                	add    %eax,(%ecx)
470df1:	01 01                	add    %eax,(%ecx)
470df3:	05 05 05 0d 01       	add    $0x10d0505,%eax
470df8:	0d 01 0d 01 0d       	or     $0xd010d01,%eax
470dfd:	01 01                	add    %eax,(%ecx)
470dff:	00 00                	add    %al,(%eax)
470e01:	01 05 55 8b ec 51    	add    %eax,0x51ec8b55
470e07:	53                   	push   %ebx
470e08:	56                   	push   %esi
470e09:	8b d9                	mov    %ecx,%ebx
470e0b:	57                   	push   %edi
470e0c:	8b 33                	mov    (%ebx),%esi
470e0e:	8b fa                	mov    %edx,%edi
470e10:	3b f7                	cmp    %edi,%esi
470e12:	0f 87 93 00 00 00    	ja     0x470eab
470e18:	c7 45 fc 80 00 00 00 	movl   $0x80,-0x4(%ebp)
470e1f:	8b c6                	mov    %esi,%eax
470e21:	99                   	cltd
470e22:	b9 80 00 00 00       	mov    $0x80,%ecx
470e27:	f7 f9                	idiv   %ecx
470e29:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
470e30:	c1 e0 07             	shl    $0x7,%eax
470e33:	03 c2                	add    %edx,%eax
470e35:	0f b7 0c 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%ecx
470e3c:	00
470e3d:	0f b6 04 cd 0b b1 4a 	movzbl 0x4ab10b(,%ecx,8),%eax
470e44:	00
470e45:	85 c0                	test   %eax,%eax
470e47:	75 56                	jne    0x470e9f
470e49:	8b 0c cd 0c b1 4a 00 	mov    0x4ab10c(,%ecx,8),%ecx
470e50:	03 ce                	add    %esi,%ecx
470e52:	3b ce                	cmp    %esi,%ecx
470e54:	75 05                	jne    0x470e5b
470e56:	46                   	inc    %esi
470e57:	3b f7                	cmp    %edi,%esi
470e59:	76 c4                	jbe    0x470e1f
470e5b:	3b f7                	cmp    %edi,%esi
470e5d:	77 4c                	ja     0x470eab
470e5f:	8b 45 08             	mov    0x8(%ebp),%eax
470e62:	89 08                	mov    %ecx,(%eax)
470e64:	eb 27                	jmp    0x470e8d
470e66:	8b c6                	mov    %esi,%eax
470e68:	99                   	cltd
470e69:	f7 7d fc             	idivl  -0x4(%ebp)
470e6c:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
470e73:	c1 e0 07             	shl    $0x7,%eax
470e76:	03 c2                	add    %edx,%eax
470e78:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
470e7f:	00
470e80:	8b 04 c5 0c b1 4a 00 	mov    0x4ab10c(,%eax,8),%eax
470e87:	03 c6                	add    %esi,%eax
470e89:	3b c1                	cmp    %ecx,%eax
470e8b:	75 06                	jne    0x470e93
470e8d:	41                   	inc    %ecx
470e8e:	46                   	inc    %esi
470e8f:	3b f7                	cmp    %edi,%esi
470e91:	76 d3                	jbe    0x470e66
470e93:	8b 45 0c             	mov    0xc(%ebp),%eax
470e96:	49                   	dec    %ecx
470e97:	89 08                	mov    %ecx,(%eax)
470e99:	89 33                	mov    %esi,(%ebx)
470e9b:	33 c0                	xor    %eax,%eax
470e9d:	eb 0f                	jmp    0x470eae
470e9f:	8b 4d 08             	mov    0x8(%ebp),%ecx
470ea2:	89 31                	mov    %esi,(%ecx)
470ea4:	8d 4e 01             	lea    0x1(%esi),%ecx
470ea7:	89 0b                	mov    %ecx,(%ebx)
470ea9:	eb 03                	jmp    0x470eae
470eab:	83 c8 ff             	or     $0xffffffff,%eax
470eae:	5f                   	pop    %edi
470eaf:	5e                   	pop    %esi
470eb0:	5b                   	pop    %ebx
470eb1:	c9                   	leave
470eb2:	c3                   	ret
470eb3:	55                   	push   %ebp
470eb4:	8b ec                	mov    %esp,%ebp
470eb6:	83 ec 48             	sub    $0x48,%esp
470eb9:	53                   	push   %ebx
470eba:	56                   	push   %esi
470ebb:	8b 31                	mov    (%ecx),%esi
470ebd:	83 c6 02             	add    $0x2,%esi
470ec0:	57                   	push   %edi
470ec1:	0f b7 06             	movzwl (%esi),%eax
470ec4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470ec7:	66 85 c0             	test   %ax,%ax
470eca:	74 36                	je     0x470f02
470ecc:	33 db                	xor    %ebx,%ebx
470ece:	89 1a                	mov    %ebx,(%edx)
470ed0:	83 f8 7b             	cmp    $0x7b,%eax
470ed3:	75 48                	jne    0x470f1d
470ed5:	66 83 7e 02 5e       	cmpw   $0x5e,0x2(%esi)
470eda:	75 09                	jne    0x470ee5
470edc:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
470ee2:	83 c6 02             	add    $0x2,%esi
470ee5:	8b c3                	mov    %ebx,%eax
470ee7:	83 c6 02             	add    $0x2,%esi
470eea:	0f b7 16             	movzwl (%esi),%edx
470eed:	66 85 d2             	test   %dx,%dx
470ef0:	74 10                	je     0x470f02
470ef2:	83 fa 7d             	cmp    $0x7d,%edx
470ef5:	74 1d                	je     0x470f14
470ef7:	66 89 54 45 b8       	mov    %dx,-0x48(%ebp,%eax,2)
470efc:	40                   	inc    %eax
470efd:	83 f8 1f             	cmp    $0x1f,%eax
470f00:	7c e5                	jl     0x470ee7
470f02:	8b 45 10             	mov    0x10(%ebp),%eax
470f05:	89 31                	mov    %esi,(%ecx)
470f07:	c7 00 2e 00 00 00    	movl   $0x2e,(%eax)
470f0d:	33 c0                	xor    %eax,%eax
470f0f:	5f                   	pop    %edi
470f10:	5e                   	pop    %esi
470f11:	5b                   	pop    %ebx
470f12:	c9                   	leave
470f13:	c3                   	ret
470f14:	33 d2                	xor    %edx,%edx
470f16:	66 89 54 45 b8       	mov    %dx,-0x48(%ebp,%eax,2)
470f1b:	eb 0a                	jmp    0x470f27
470f1d:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
470f21:	33 c0                	xor    %eax,%eax
470f23:	66 89 45 ba          	mov    %ax,-0x46(%ebp)
470f27:	b8 92 00 00 00       	mov    $0x92,%eax
470f2c:	89 31                	mov    %esi,(%ecx)
470f2e:	89 45 fc             	mov    %eax,-0x4(%ebp)
470f31:	8d 3c 18             	lea    (%eax,%ebx,1),%edi
470f34:	d1 ff                	sar    $1,%edi
470f36:	8b c7                	mov    %edi,%eax
470f38:	6b c0 06             	imul   $0x6,%eax,%eax
470f3b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
470f3e:	0f b7 90 60 66 4b 00 	movzwl 0x4b6660(%eax),%edx
470f45:	81 c2 f8 61 4b 00    	add    $0x4b61f8,%edx
470f4b:	e8 78 03 00 00       	call   0x4712c8
470f50:	85 c0                	test   %eax,%eax
470f52:	74 23                	je     0x470f77
470f54:	7e 08                	jle    0x470f5e
470f56:	8b 45 fc             	mov    -0x4(%ebp),%eax
470f59:	8d 5f 01             	lea    0x1(%edi),%ebx
470f5c:	eb 05                	jmp    0x470f63
470f5e:	8b c7                	mov    %edi,%eax
470f60:	89 45 fc             	mov    %eax,-0x4(%ebp)
470f63:	3b d8                	cmp    %eax,%ebx
470f65:	7c ca                	jl     0x470f31
470f67:	8b 45 10             	mov    0x10(%ebp),%eax
470f6a:	c7 00 2f 00 00 00    	movl   $0x2f,(%eax)
470f70:	8b 45 f8             	mov    -0x8(%ebp),%eax
470f73:	89 30                	mov    %esi,(%eax)
470f75:	eb 96                	jmp    0x470f0d
470f77:	8b 4d 08             	mov    0x8(%ebp),%ecx
470f7a:	6b ff 06             	imul   $0x6,%edi,%edi
470f7d:	0f b7 97 62 66 4b 00 	movzwl 0x4b6662(%edi),%edx
470f84:	89 11                	mov    %edx,(%ecx)
470f86:	0f b7 97 64 66 4b 00 	movzwl 0x4b6664(%edi),%edx
470f8d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
470f90:	33 c0                	xor    %eax,%eax
470f92:	89 11                	mov    %edx,(%ecx)
470f94:	40                   	inc    %eax
470f95:	e9 75 ff ff ff       	jmp    0x470f0f
470f9a:	0f b7 01             	movzwl (%ecx),%eax
470f9d:	53                   	push   %ebx
470f9e:	56                   	push   %esi
470f9f:	57                   	push   %edi
470fa0:	6a 30                	push   $0x30
470fa2:	5a                   	pop    %edx
470fa3:	66 3b c2             	cmp    %dx,%ax
470fa6:	72 45                	jb     0x470fed
470fa8:	6a 39                	push   $0x39
470faa:	5f                   	pop    %edi
470fab:	66 3b c7             	cmp    %di,%ax
470fae:	77 3d                	ja     0x470fed
470fb0:	6a 02                	push   $0x2
470fb2:	5e                   	pop    %esi
470fb3:	eb 05                	jmp    0x470fba
470fb5:	66 3b c7             	cmp    %di,%ax
470fb8:	77 0a                	ja     0x470fc4
470fba:	03 ce                	add    %esi,%ecx
470fbc:	0f b7 01             	movzwl (%ecx),%eax
470fbf:	66 3b c2             	cmp    %dx,%ax
470fc2:	73 f1                	jae    0x470fb5
470fc4:	0f b7 01             	movzwl (%ecx),%eax
470fc7:	6a 7d                	push   $0x7d
470fc9:	5b                   	pop    %ebx
470fca:	66 3b c3             	cmp    %bx,%ax
470fcd:	75 05                	jne    0x470fd4
470fcf:	33 c0                	xor    %eax,%eax
470fd1:	40                   	inc    %eax
470fd2:	eb 1b                	jmp    0x470fef
470fd4:	03 ce                	add    %esi,%ecx
470fd6:	83 f8 2c             	cmp    $0x2c,%eax
470fd9:	75 12                	jne    0x470fed
470fdb:	0f b7 01             	movzwl (%ecx),%eax
470fde:	66 3b c3             	cmp    %bx,%ax
470fe1:	74 ec                	je     0x470fcf
470fe3:	66 3b c2             	cmp    %dx,%ax
470fe6:	72 05                	jb     0x470fed
470fe8:	66 3b c7             	cmp    %di,%ax
470feb:	76 0b                	jbe    0x470ff8
470fed:	33 c0                	xor    %eax,%eax
470fef:	5f                   	pop    %edi
470ff0:	5e                   	pop    %esi
470ff1:	5b                   	pop    %ebx
470ff2:	c3                   	ret
470ff3:	66 3b c7             	cmp    %di,%ax
470ff6:	77 0a                	ja     0x471002