4709d2:	0f b7 c6             	movzwl %si,%eax
4709d5:	2d 66 09 00 00       	sub    $0x966,%eax
4709da:	e9 c6 01 00 00       	jmp    0x470ba5
4709df:	b8 e6 09 00 00       	mov    $0x9e6,%eax
4709e4:	66 3b f0             	cmp    %ax,%si
4709e7:	0f 82 bd 01 00 00    	jb     0x470baa
4709ed:	83 c0 0a             	add    $0xa,%eax
4709f0:	66 3b f0             	cmp    %ax,%si
4709f3:	73 0d                	jae    0x470a02
4709f5:	0f b7 c6             	movzwl %si,%eax
4709f8:	2d e6 09 00 00       	sub    $0x9e6,%eax
4709fd:	e9 a3 01 00 00       	jmp    0x470ba5
470a02:	b8 66 0a 00 00       	mov    $0xa66,%eax
470a07:	66 3b f0             	cmp    %ax,%si
470a0a:	0f 82 9a 01 00 00    	jb     0x470baa
470a10:	83 c0 0a             	add    $0xa,%eax
470a13:	66 3b f0             	cmp    %ax,%si
470a16:	73 0d                	jae    0x470a25
470a18:	0f b7 c6             	movzwl %si,%eax
470a1b:	2d 66 0a 00 00       	sub    $0xa66,%eax
470a20:	e9 80 01 00 00       	jmp    0x470ba5
470a25:	b8 e6 0a 00 00       	mov    $0xae6,%eax
470a2a:	66 3b f0             	cmp    %ax,%si
470a2d:	0f 82 77 01 00 00    	jb     0x470baa
470a33:	83 c0 0a             	add    $0xa,%eax
470a36:	66 3b f0             	cmp    %ax,%si
470a39:	73 0d                	jae    0x470a48
470a3b:	0f b7 c6             	movzwl %si,%eax
470a3e:	2d e6 0a 00 00       	sub    $0xae6,%eax
470a43:	e9 5d 01 00 00       	jmp    0x470ba5
470a48:	b8 66 0b 00 00       	mov    $0xb66,%eax
470a4d:	66 3b f0             	cmp    %ax,%si
470a50:	0f 82 54 01 00 00    	jb     0x470baa
470a56:	83 c0 0a             	add    $0xa,%eax
470a59:	66 3b f0             	cmp    %ax,%si
470a5c:	73 0d                	jae    0x470a6b
470a5e:	0f b7 c6             	movzwl %si,%eax
470a61:	2d 66 0b 00 00       	sub    $0xb66,%eax
470a66:	e9 3a 01 00 00       	jmp    0x470ba5
470a6b:	b8 66 0c 00 00       	mov    $0xc66,%eax
470a70:	66 3b f0             	cmp    %ax,%si
470a73:	0f 82 31 01 00 00    	jb     0x470baa
470a79:	83 c0 0a             	add    $0xa,%eax
470a7c:	66 3b f0             	cmp    %ax,%si
470a7f:	73 0d                	jae    0x470a8e
470a81:	0f b7 c6             	movzwl %si,%eax
470a84:	2d 66 0c 00 00       	sub    $0xc66,%eax
470a89:	e9 17 01 00 00       	jmp    0x470ba5
470a8e:	b8 e6 0c 00 00       	mov    $0xce6,%eax
470a93:	66 3b f0             	cmp    %ax,%si
470a96:	0f 82 0e 01 00 00    	jb     0x470baa
470a9c:	83 c0 0a             	add    $0xa,%eax
470a9f:	66 3b f0             	cmp    %ax,%si
470aa2:	73 0d                	jae    0x470ab1
470aa4:	0f b7 c6             	movzwl %si,%eax
470aa7:	2d e6 0c 00 00       	sub    $0xce6,%eax
470aac:	e9 f4 00 00 00       	jmp    0x470ba5
470ab1:	b8 66 0d 00 00       	mov    $0xd66,%eax
470ab6:	66 3b f0             	cmp    %ax,%si
470ab9:	0f 82 eb 00 00 00    	jb     0x470baa
470abf:	83 c0 0a             	add    $0xa,%eax
470ac2:	66 3b f0             	cmp    %ax,%si
470ac5:	73 0d                	jae    0x470ad4
470ac7:	0f b7 c6             	movzwl %si,%eax
470aca:	2d 66 0d 00 00       	sub    $0xd66,%eax
470acf:	e9 d1 00 00 00       	jmp    0x470ba5
470ad4:	b8 50 0e 00 00       	mov    $0xe50,%eax
470ad9:	66 3b f0             	cmp    %ax,%si
470adc:	0f 82 c8 00 00 00    	jb     0x470baa
470ae2:	83 c0 0a             	add    $0xa,%eax
470ae5:	66 3b f0             	cmp    %ax,%si
470ae8:	73 0d                	jae    0x470af7
470aea:	0f b7 c6             	movzwl %si,%eax
470aed:	2d 50 0e 00 00       	sub    $0xe50,%eax
470af2:	e9 ae 00 00 00       	jmp    0x470ba5
470af7:	b8 d0 0e 00 00       	mov    $0xed0,%eax
470afc:	66 3b f0             	cmp    %ax,%si
470aff:	0f 82 a5 00 00 00    	jb     0x470baa
470b05:	83 c0 0a             	add    $0xa,%eax
470b08:	66 3b f0             	cmp    %ax,%si
470b0b:	73 0d                	jae    0x470b1a
470b0d:	0f b7 c6             	movzwl %si,%eax
470b10:	2d d0 0e 00 00       	sub    $0xed0,%eax
470b15:	e9 8b 00 00 00       	jmp    0x470ba5
470b1a:	b8 20 0f 00 00       	mov    $0xf20,%eax
470b1f:	66 3b f0             	cmp    %ax,%si
470b22:	0f 82 82 00 00 00    	jb     0x470baa
470b28:	83 c0 0a             	add    $0xa,%eax
470b2b:	66 3b f0             	cmp    %ax,%si
470b2e:	73 0a                	jae    0x470b3a
470b30:	0f b7 c6             	movzwl %si,%eax
470b33:	2d 20 0f 00 00       	sub    $0xf20,%eax
470b38:	eb 6b                	jmp    0x470ba5
470b3a:	b8 40 10 00 00       	mov    $0x1040,%eax
470b3f:	66 3b f0             	cmp    %ax,%si
470b42:	72 66                	jb     0x470baa
470b44:	83 c0 0a             	add    $0xa,%eax
470b47:	66 3b f0             	cmp    %ax,%si
470b4a:	73 0a                	jae    0x470b56
470b4c:	0f b7 c6             	movzwl %si,%eax
470b4f:	2d 40 10 00 00       	sub    $0x1040,%eax
470b54:	eb 4f                	jmp    0x470ba5
470b56:	b8 e0 17 00 00       	mov    $0x17e0,%eax
470b5b:	66 3b f0             	cmp    %ax,%si
470b5e:	72 4a                	jb     0x470baa
470b60:	83 c0 0a             	add    $0xa,%eax
470b63:	66 3b f0             	cmp    %ax,%si
470b66:	73 0a                	jae    0x470b72
470b68:	0f b7 c6             	movzwl %si,%eax
470b6b:	2d e0 17 00 00       	sub    $0x17e0,%eax
470b70:	eb 33                	jmp    0x470ba5
470b72:	b8 10 18 00 00       	mov    $0x1810,%eax
470b77:	66 3b f0             	cmp    %ax,%si
470b7a:	72 2e                	jb     0x470baa
470b7c:	83 c0 0a             	add    $0xa,%eax
470b7f:	66 3b f0             	cmp    %ax,%si
470b82:	73 26                	jae    0x470baa
470b84:	0f b7 c6             	movzwl %si,%eax
470b87:	2d 10 18 00 00       	sub    $0x1810,%eax
470b8c:	eb 17                	jmp    0x470ba5
470b8e:	b8 1a ff 00 00       	mov    $0xff1a,%eax
470b93:	66 3b f0             	cmp    %ax,%si
470b96:	73 0a                	jae    0x470ba2
470b98:	0f b7 c6             	movzwl %si,%eax
470b9b:	2d 10 ff 00 00       	sub    $0xff10,%eax
470ba0:	eb 03                	jmp    0x470ba5
470ba2:	83 c8 ff             	or     $0xffffffff,%eax
470ba5:	83 f8 ff             	cmp    $0xffffffff,%eax
470ba8:	75 30                	jne    0x470bda
470baa:	6a 41                	push   $0x41
470bac:	58                   	pop    %eax
470bad:	66 3b c6             	cmp    %si,%ax
470bb0:	77 08                	ja     0x470bba
470bb2:	6a 5a                	push   $0x5a
470bb4:	58                   	pop    %eax
470bb5:	66 3b f0             	cmp    %ax,%si
470bb8:	76 09                	jbe    0x470bc3
470bba:	8d 46 9f             	lea    -0x61(%esi),%eax
470bbd:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
470bc1:	77 14                	ja     0x470bd7
470bc3:	8d 46 9f             	lea    -0x61(%esi),%eax
470bc6:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
470bca:	0f b7 c6             	movzwl %si,%eax
470bcd:	77 03                	ja     0x470bd2
470bcf:	83 e8 20             	sub    $0x20,%eax
470bd2:	83 c0 c9             	add    $0xffffffc9,%eax
470bd5:	eb 03                	jmp    0x470bda
470bd7:	83 c8 ff             	or     $0xffffffff,%eax
470bda:	83 f8 ff             	cmp    $0xffffffff,%eax
470bdd:	74 31                	je     0x470c10
470bdf:	3b 45 14             	cmp    0x14(%ebp),%eax
470be2:	73 2c                	jae    0x470c10
470be4:	8b 75 f8             	mov    -0x8(%ebp),%esi
470be7:	83 cb 08             	or     $0x8,%ebx
470bea:	3b f1                	cmp    %ecx,%esi
470bec:	72 0b                	jb     0x470bf9
470bee:	75 04                	jne    0x470bf4
470bf0:	3b c2                	cmp    %edx,%eax
470bf2:	76 05                	jbe    0x470bf9
470bf4:	83 cb 04             	or     $0x4,%ebx
470bf7:	eb 09                	jmp    0x470c02
470bf9:	0f af 75 14          	imul   0x14(%ebp),%esi
470bfd:	03 f0                	add    %eax,%esi
470bff:	89 75 f8             	mov    %esi,-0x8(%ebp)
470c02:	0f b7 37             	movzwl (%edi),%esi
470c05:	83 c7 02             	add    $0x2,%edi
470c08:	89 7d 0c             	mov    %edi,0xc(%ebp)
470c0b:	e9 39 fd ff ff       	jmp    0x470949
470c10:	56                   	push   %esi
470c11:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470c14:	e8 cf 27 fe ff       	call   0x4533e8
470c19:	f6 c3 08             	test   $0x8,%bl
470c1c:	75 0a                	jne    0x470c28
470c1e:	8b 45 f4             	mov    -0xc(%ebp),%eax
470c21:	33 db                	xor    %ebx,%ebx
470c23:	89 45 0c             	mov    %eax,0xc(%ebp)
470c26:	eb 41                	jmp    0x470c69
470c28:	8b 75 f8             	mov    -0x8(%ebp),%esi
470c2b:	56                   	push   %esi
470c2c:	53                   	push   %ebx
470c2d:	e8 98 f6 ff ff       	call   0x4702ca
470c32:	59                   	pop    %ecx
470c33:	59                   	pop    %ecx
470c34:	84 c0                	test   %al,%al
470c36:	74 28                	je     0x470c60
470c38:	e8 f2 c1 fd ff       	call   0x44ce2f
470c3d:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
470c43:	f6 c3 01             	test   $0x1,%bl
470c46:	75 05                	jne    0x470c4d
470c48:	83 ce ff             	or     $0xffffffff,%esi
470c4b:	eb 1a                	jmp    0x470c67
470c4d:	f6 c3 02             	test   $0x2,%bl
470c50:	74 07                	je     0x470c59
470c52:	bb 00 00 00 80       	mov    $0x80000000,%ebx
470c57:	eb 10                	jmp    0x470c69
470c59:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
470c5e:	eb 09                	jmp    0x470c69
470c60:	f6 c3 02             	test   $0x2,%bl
470c63:	74 02                	je     0x470c67
470c65:	f7 de                	neg    %esi
470c67:	8b de                	mov    %esi,%ebx
470c69:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
470c6d:	5e                   	pop    %esi
470c6e:	0f 84 65 f9 ff ff    	je     0x4705d9
470c74:	8b 45 e4             	mov    -0x1c(%ebp),%eax
470c77:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
470c7e:	e9 56 f9 ff ff       	jmp    0x4705d9
470c83:	8b ff                	mov    %edi,%edi
470c85:	55                   	push   %ebp
470c86:	8b ec                	mov    %esp,%ebp
470c88:	83 ec 40             	sub    $0x40,%esp
470c8b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470c8e:	56                   	push   %esi
470c8f:	57                   	push   %edi
470c90:	e8 7f 27 fe ff       	call   0x453414
470c95:	84 c0                	test   %al,%al
470c97:	74 21                	je     0x470cba
470c99:	8b 45 14             	mov    0x14(%ebp),%eax
470c9c:	85 c0                	test   %eax,%eax
470c9e:	74 36                	je     0x470cd6
470ca0:	83 f8 02             	cmp    $0x2,%eax
470ca3:	7c 05                	jl     0x470caa
470ca5:	83 f8 24             	cmp    $0x24,%eax
470ca8:	7e 2c                	jle    0x470cd6
470caa:	e8 80 c1 fd ff       	call   0x44ce2f
470caf:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
470cb5:	e8 1c c0 fd ff       	call   0x44ccd6
470cba:	33 c0                	xor    %eax,%eax
470cbc:	8b f8                	mov    %eax,%edi
470cbe:	8b f0                	mov    %eax,%esi
470cc0:	8b 45 10             	mov    0x10(%ebp),%eax
470cc3:	85 c0                	test   %eax,%eax
470cc5:	74 05                	je     0x470ccc
470cc7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
470cca:	89 08                	mov    %ecx,(%eax)
470ccc:	8b c7                	mov    %edi,%eax
470cce:	8b d6                	mov    %esi,%edx
470cd0:	5f                   	pop    %edi
470cd1:	5e                   	pop    %esi
470cd2:	8b e5                	mov    %ebp,%esp
470cd4:	5d                   	pop    %ebp
470cd5:	c3                   	ret
470cd6:	53                   	push   %ebx
470cd7:	ff 75 08             	push   0x8(%ebp)
470cda:	8d 4d c0             	lea    -0x40(%ebp),%ecx
470cdd:	e8 26 e3 fd ff       	call   0x44f008
470ce2:	33 c0                	xor    %eax,%eax
470ce4:	89 45 f0             	mov    %eax,-0x10(%ebp)
470ce7:	8b f0                	mov    %eax,%esi
470ce9:	8b 45 0c             	mov    0xc(%ebp),%eax
470cec:	89 45 d0             	mov    %eax,-0x30(%ebp)
470cef:	eb 03                	jmp    0x470cf4
470cf1:	8b 45 0c             	mov    0xc(%ebp),%eax
470cf4:	8a 18                	mov    (%eax),%bl
470cf6:	40                   	inc    %eax
470cf7:	89 45 0c             	mov    %eax,0xc(%ebp)
470cfa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
470cfd:	50                   	push   %eax
470cfe:	0f b6 c3             	movzbl %bl,%eax
470d01:	6a 08                	push   $0x8
470d03:	50                   	push   %eax
470d04:	88 5d f4             	mov    %bl,-0xc(%ebp)
470d07:	88 5d ff             	mov    %bl,-0x1(%ebp)
470d0a:	e8 1e 29 fe ff       	call   0x45362d
470d0f:	83 c4 0c             	add    $0xc,%esp
470d12:	85 c0                	test   %eax,%eax
470d14:	75 db                	jne    0x470cf1
470d16:	38 45 18             	cmp    %al,0x18(%ebp)
470d19:	0f 95 c0             	setne  %al
470d1c:	89 45 f8             	mov    %eax,-0x8(%ebp)
470d1f:	80 fb 2d             	cmp    $0x2d,%bl
470d22:	75 08                	jne    0x470d2c
470d24:	83 c8 02             	or     $0x2,%eax
470d27:	89 45 f8             	mov    %eax,-0x8(%ebp)
470d2a:	eb 05                	jmp    0x470d31
470d2c:	80 fb 2b             	cmp    $0x2b,%bl
470d2f:	75 11                	jne    0x470d42
470d31:	8b 7d 0c             	mov    0xc(%ebp),%edi
470d34:	8a 1f                	mov    (%edi),%bl
470d36:	47                   	inc    %edi
470d37:	88 5d ff             	mov    %bl,-0x1(%ebp)
470d3a:	88 5d f4             	mov    %bl,-0xc(%ebp)
470d3d:	89 7d 0c             	mov    %edi,0xc(%ebp)
470d40:	eb 03                	jmp    0x470d45
470d42:	8b 7d 0c             	mov    0xc(%ebp),%edi
470d45:	8b 4d 14             	mov    0x14(%ebp),%ecx
470d48:	6a 10                	push   $0x10
470d4a:	5a                   	pop    %edx
470d4b:	85 c9                	test   %ecx,%ecx
470d4d:	74 08                	je     0x470d57
470d4f:	3b ca                	cmp    %edx,%ecx
470d51:	0f 85 87 00 00 00    	jne    0x470dde
470d57:	8a c3                	mov    %bl,%al
470d59:	2c 30                	sub    $0x30,%al
470d5b:	3c 09                	cmp    $0x9,%al
470d5d:	77 08                	ja     0x470d67
470d5f:	0f be c3             	movsbl %bl,%eax
470d62:	83 c0 d0             	add    $0xffffffd0,%eax
470d65:	eb 23                	jmp    0x470d8a
470d67:	8a c3                	mov    %bl,%al
470d69:	2c 61                	sub    $0x61,%al
470d6b:	3c 19                	cmp    $0x19,%al
470d6d:	77 08                	ja     0x470d77
470d6f:	0f be c3             	movsbl %bl,%eax
470d72:	83 c0 a9             	add    $0xffffffa9,%eax
470d75:	eb 13                	jmp    0x470d8a
470d77:	8a c3                	mov    %bl,%al
470d79:	2c 41                	sub    $0x41,%al
470d7b:	3c 19                	cmp    $0x19,%al
470d7d:	77 08                	ja     0x470d87
470d7f:	0f be c3             	movsbl %bl,%eax
470d82:	83 c0 c9             	add    $0xffffffc9,%eax
470d85:	eb 03                	jmp    0x470d8a
470d87:	83 c8 ff             	or     $0xffffffff,%eax
470d8a:	85 c0                	test   %eax,%eax
470d8c:	74 0c                	je     0x470d9a
470d8e:	85 c9                	test   %ecx,%ecx
470d90:	75 4c                	jne    0x470dde
470d92:	6a 0a                	push   $0xa
470d94:	58                   	pop    %eax
470d95:	89 45 14             	mov    %eax,0x14(%ebp)
470d98:	eb 46                	jmp    0x470de0
470d9a:	8a 07                	mov    (%edi),%al
470d9c:	47                   	inc    %edi
470d9d:	88 45 e4             	mov    %al,-0x1c(%ebp)
470da0:	89 7d 0c             	mov    %edi,0xc(%ebp)
470da3:	3c 78                	cmp    $0x78,%al
470da5:	74 22                	je     0x470dc9
470da7:	3c 58                	cmp    $0x58,%al
470da9:	74 1e                	je     0x470dc9
470dab:	85 c9                	test   %ecx,%ecx
470dad:	75 07                	jne    0x470db6
470daf:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
470db6:	ff 75 e4             	push   -0x1c(%ebp)
470db9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470dbc:	e8 ff 25 fe ff       	call   0x4533c0
470dc1:	8b 7d 0c             	mov    0xc(%ebp),%edi
470dc4:	8b 45 14             	mov    0x14(%ebp),%eax
470dc7:	eb 17                	jmp    0x470de0
470dc9:	85 c9                	test   %ecx,%ecx
470dcb:	75 03                	jne    0x470dd0
470dcd:	89 55 14             	mov    %edx,0x14(%ebp)
470dd0:	8a 07                	mov    (%edi),%al
470dd2:	47                   	inc    %edi
470dd3:	88 45 ff             	mov    %al,-0x1(%ebp)
470dd6:	88 45 f4             	mov    %al,-0xc(%ebp)
470dd9:	89 7d 0c             	mov    %edi,0xc(%ebp)
470ddc:	eb e6                	jmp    0x470dc4
470dde:	8b c1                	mov    %ecx,%eax
470de0:	99                   	cltd