4499fd:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
449a01:	89 45 f8             	mov    %eax,-0x8(%ebp)
449a04:	74 2e                	je     0x449a34
449a06:	8b c1                	mov    %ecx,%eax
449a08:	25 00 fc 00 00       	and    $0xfc00,%eax
449a0d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
449a12:	75 20                	jne    0x449a34
449a14:	8b 45 f8             	mov    -0x8(%ebp),%eax
449a17:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449a1d:	c1 e1 0a             	shl    $0xa,%ecx
449a20:	0f b7 00             	movzwl (%eax),%eax
449a23:	25 ff 03 00 00       	and    $0x3ff,%eax
449a28:	0b c8                	or     %eax,%ecx
449a2a:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449a30:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
449a34:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
449a3a:	77 3c                	ja     0x449a78
449a3c:	0f 84 58 b2 fc ff    	je     0x414c9a
449a42:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
449a48:	77 1d                	ja     0x449a67
449a4a:	0f 84 4a b2 fc ff    	je     0x414c9a
449a50:	83 f9 09             	cmp    $0x9,%ecx
449a53:	0f 84 41 b2 fc ff    	je     0x414c9a
449a59:	83 f9 20             	cmp    $0x20,%ecx
449a5c:	0f 85 fc b5 fc ff    	jne    0x41505e
449a62:	e9 33 b2 fc ff       	jmp    0x414c9a
449a67:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
449a6d:	0f 85 eb b5 fc ff    	jne    0x41505e
449a73:	e9 22 b2 fc ff       	jmp    0x414c9a
449a78:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
449a7e:	77 2f                	ja     0x449aaf
449a80:	0f 84 14 b2 fc ff    	je     0x414c9a
449a86:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
449a8c:	0f 82 cc b5 fc ff    	jb     0x41505e
449a92:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
449a98:	0f 86 fc b1 fc ff    	jbe    0x414c9a
449a9e:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
449aa4:	0f 85 b4 b5 fc ff    	jne    0x41505e
449aaa:	e9 eb b1 fc ff       	jmp    0x414c9a
449aaf:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
449ab5:	0f 85 a3 b5 fc ff    	jne    0x41505e
449abb:	e9 da b1 fc ff       	jmp    0x414c9a
449ac0:	8b 45 f8             	mov    -0x8(%ebp),%eax
449ac3:	3b 46 7c             	cmp    0x7c(%esi),%eax
449ac6:	0f 83 f3 49 00 00    	jae    0x44e4bf
449acc:	0f b7 08             	movzwl (%eax),%ecx
449acf:	83 c0 02             	add    $0x2,%eax
449ad2:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
449ad6:	89 45 f8             	mov    %eax,-0x8(%ebp)
449ad9:	74 2e                	je     0x449b09
449adb:	8b c1                	mov    %ecx,%eax
449add:	25 00 fc 00 00       	and    $0xfc00,%eax
449ae2:	3d 00 d8 00 00       	cmp    $0xd800,%eax
449ae7:	75 20                	jne    0x449b09
449ae9:	8b 45 f8             	mov    -0x8(%ebp),%eax
449aec:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449af2:	c1 e1 0a             	shl    $0xa,%ecx
449af5:	0f b7 00             	movzwl (%eax),%eax
449af8:	25 ff 03 00 00       	and    $0x3ff,%eax
449afd:	0b c8                	or     %eax,%ecx
449aff:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449b05:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
449b09:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
449b0f:	77 1d                	ja     0x449b2e
449b11:	0f 84 47 b5 fc ff    	je     0x41505e
449b17:	83 f9 0a             	cmp    $0xa,%ecx
449b1a:	0f 82 7a b1 fc ff    	jb     0x414c9a
449b20:	83 f9 0d             	cmp    $0xd,%ecx
449b23:	0f 86 35 b5 fc ff    	jbe    0x41505e
449b29:	e9 6c b1 fc ff       	jmp    0x414c9a
449b2e:	81 f9 28 20 00 00    	cmp    $0x2028,%ecx
449b34:	0f 82 60 b1 fc ff    	jb     0x414c9a
449b3a:	81 f9 29 20 00 00    	cmp    $0x2029,%ecx
449b40:	0f 86 18 b5 fc ff    	jbe    0x41505e
449b46:	e9 4f b1 fc ff       	jmp    0x414c9a
449b4b:	8b 45 f8             	mov    -0x8(%ebp),%eax
449b4e:	3b 46 7c             	cmp    0x7c(%esi),%eax
449b51:	0f 83 68 49 00 00    	jae    0x44e4bf
449b57:	0f b7 08             	movzwl (%eax),%ecx
449b5a:	83 c0 02             	add    $0x2,%eax
449b5d:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
449b61:	89 45 f8             	mov    %eax,-0x8(%ebp)
449b64:	74 2e                	je     0x449b94
449b66:	8b c1                	mov    %ecx,%eax
449b68:	25 00 fc 00 00       	and    $0xfc00,%eax
449b6d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
449b72:	75 20                	jne    0x449b94
449b74:	8b 45 f8             	mov    -0x8(%ebp),%eax
449b77:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449b7d:	c1 e1 0a             	shl    $0xa,%ecx
449b80:	0f b7 00             	movzwl (%eax),%eax
449b83:	25 ff 03 00 00       	and    $0x3ff,%eax
449b88:	0b c8                	or     %eax,%ecx
449b8a:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449b90:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
449b94:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
449b9a:	77 17                	ja     0x449bb3
449b9c:	0f 84 f8 b0 fc ff    	je     0x414c9a
449ba2:	8d 41 f6             	lea    -0xa(%ecx),%eax
449ba5:	83 f8 03             	cmp    $0x3,%eax
449ba8:	0f 87 b0 b4 fc ff    	ja     0x41505e
449bae:	e9 e7 b0 fc ff       	jmp    0x414c9a
449bb3:	8d 81 d8 df ff ff    	lea    -0x2028(%ecx),%eax
449bb9:	83 f8 01             	cmp    $0x1,%eax
449bbc:	0f 87 9c b4 fc ff    	ja     0x41505e
449bc2:	e9 d3 b0 fc ff       	jmp    0x414c9a
449bc7:	8b 45 f8             	mov    -0x8(%ebp),%eax
449bca:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449bd0:	c1 e1 0a             	shl    $0xa,%ecx
449bd3:	0f b7 00             	movzwl (%eax),%eax
449bd6:	25 ff 03 00 00       	and    $0x3ff,%eax
449bdb:	0b c8                	or     %eax,%ecx
449bdd:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449be3:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
449be7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
449bea:	e9 ca b2 fc ff       	jmp    0x414eb9
449bef:	83 f8 0a             	cmp    $0xa,%eax
449bf2:	0f 87 06 49 00 00    	ja     0x44e4fe
449bf8:	ff 24 85 93 01 45 00 	jmp    *0x450193(,%eax,4)
449bff:	8a 04 cd 51 2f 4a 00 	mov    0x4a2f51(,%ecx,8),%al
449c06:	3c 09                	cmp    $0x9,%al
449c08:	74 1a                	je     0x449c24
449c0a:	3c 05                	cmp    $0x5,%al
449c0c:	74 16                	je     0x449c24
449c0e:	3c 08                	cmp    $0x8,%al
449c10:	74 12                	je     0x449c24
449c12:	33 c9                	xor    %ecx,%ecx
449c14:	eb 2a                	jmp    0x449c40
449c16:	83 ff 0f             	cmp    $0xf,%edi
449c19:	0f 84 3f b4 fc ff    	je     0x41505e
449c1f:	e9 0a b3 fc ff       	jmp    0x414f2e
449c24:	b9 01 00 00 00       	mov    $0x1,%ecx
449c29:	eb 15                	jmp    0x449c40
449c2b:	0f b6 04 cd 51 2f 4a 	movzbl 0x4a2f51(,%ecx,8),%eax
449c32:	00
449c33:	33 c9                	xor    %ecx,%ecx
449c35:	83 3c 85 a0 89 4b 00 	cmpl   $0x6,0x4b89a0(,%eax,4)
449c3c:	06
449c3d:	0f 94 c1             	sete   %cl
449c40:	33 c0                	xor    %eax,%eax
449c42:	83 ff 0f             	cmp    $0xf,%edi
449c45:	0f 94 c0             	sete   %al
449c48:	3b c8                	cmp    %eax,%ecx
449c4a:	0f 84 0e b4 fc ff    	je     0x41505e
449c50:	e9 d9 b2 fc ff       	jmp    0x414f2e
449c55:	8b 45 ec             	mov    -0x14(%ebp),%eax
449c58:	33 d2                	xor    %edx,%edx
449c5a:	0f b7 4b 04          	movzwl 0x4(%ebx),%ecx
449c5e:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
449c65:	00
449c66:	3b 0c 85 a0 89 4b 00 	cmp    0x4b89a0(,%eax,4),%ecx
449c6d:	0f 95 c2             	setne  %dl
449c70:	33 c0                	xor    %eax,%eax
449c72:	83 ff 10             	cmp    $0x10,%edi
449c75:	0f 94 c0             	sete   %al
449c78:	3b d0                	cmp    %eax,%edx
449c7a:	0f 84 de b3 fc ff    	je     0x41505e
449c80:	e9 a9 b2 fc ff       	jmp    0x414f2e
449c85:	0f b6 04 cd 51 2f 4a 	movzbl 0x4a2f51(,%ecx,8),%eax
449c8c:	00
449c8d:	eb 08                	jmp    0x449c97
449c8f:	0f b6 04 cd 50 2f 4a 	movzbl 0x4a2f50(,%ecx,8),%eax
449c96:	00
449c97:	33 c9                	xor    %ecx,%ecx
449c99:	66 39 43 04          	cmp    %ax,0x4(%ebx)
449c9d:	0f 95 c1             	setne  %cl
449ca0:	33 c0                	xor    %eax,%eax
449ca2:	83 ff 10             	cmp    $0x10,%edi
449ca5:	0f 94 c0             	sete   %al
449ca8:	3b c8                	cmp    %eax,%ecx
449caa:	0f 84 ae b3 fc ff    	je     0x41505e
449cb0:	e9 79 b2 fc ff       	jmp    0x414f2e
449cb5:	0f b6 04 cd 51 2f 4a 	movzbl 0x4a2f51(,%ecx,8),%eax
449cbc:	00
449cbd:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
449cc4:	83 f8 01             	cmp    $0x1,%eax
449cc7:	0f 84 57 ff ff ff    	je     0x449c24
449ccd:	83 f8 03             	cmp    $0x3,%eax
449cd0:	0f 84 4e ff ff ff    	je     0x449c24
449cd6:	33 c9                	xor    %ecx,%ecx
449cd8:	e9 63 ff ff ff       	jmp    0x449c40
449cdd:	81 fa 0e 18 00 00    	cmp    $0x180e,%edx
449ce3:	77 51                	ja     0x449d36
449ce5:	0f 84 2b ff ff ff    	je     0x449c16
449ceb:	81 fa 85 00 00 00    	cmp    $0x85,%edx
449cf1:	77 26                	ja     0x449d19
449cf3:	0f 84 1d ff ff ff    	je     0x449c16
449cf9:	83 fa 09             	cmp    $0x9,%edx
449cfc:	0f 82 29 ff ff ff    	jb     0x449c2b
449d02:	83 fa 0d             	cmp    $0xd,%edx
449d05:	0f 86 0b ff ff ff    	jbe    0x449c16
449d0b:	83 fa 20             	cmp    $0x20,%edx
449d0e:	0f 84 02 ff ff ff    	je     0x449c16
449d14:	e9 12 ff ff ff       	jmp    0x449c2b
449d19:	81 fa a0 00 00 00    	cmp    $0xa0,%edx
449d1f:	0f 84 f1 fe ff ff    	je     0x449c16
449d25:	81 fa 80 16 00 00    	cmp    $0x1680,%edx
449d2b:	0f 84 e5 fe ff ff    	je     0x449c16
449d31:	e9 f5 fe ff ff       	jmp    0x449c2b
449d36:	81 fa 2f 20 00 00    	cmp    $0x202f,%edx
449d3c:	77 23                	ja     0x449d61
449d3e:	0f 84 d2 fe ff ff    	je     0x449c16
449d44:	81 c2 00 e0 ff ff    	add    $0xffffe000,%edx
449d4a:	83 fa 29             	cmp    $0x29,%edx
449d4d:	0f 87 d8 fe ff ff    	ja     0x449c2b
449d53:	0f b6 82 c7 01 45 00 	movzbl 0x4501c7(%edx),%eax
449d5a:	ff 24 85 bf 01 45 00 	jmp    *0x4501bf(,%eax,4)
449d61:	81 fa 5f 20 00 00    	cmp    $0x205f,%edx
449d67:	0f 84 a9 fe ff ff    	je     0x449c16
449d6d:	81 fa 00 30 00 00    	cmp    $0x3000,%edx
449d73:	0f 84 9d fe ff ff    	je     0x449c16
449d79:	e9 ad fe ff ff       	jmp    0x449c2b
449d7e:	0f b6 04 cd 51 2f 4a 	movzbl 0x4a2f51(,%ecx,8),%eax
449d85:	00
449d86:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
449d8d:	83 f8 01             	cmp    $0x1,%eax
449d90:	0f 84 8e fe ff ff    	je     0x449c24
449d96:	83 f8 03             	cmp    $0x3,%eax
449d99:	0f 84 85 fe ff ff    	je     0x449c24
449d9f:	83 fa 5f             	cmp    $0x5f,%edx
449da2:	0f 84 7c fe ff ff    	je     0x449c24
449da8:	33 c9                	xor    %ecx,%ecx
449daa:	e9 91 fe ff ff       	jmp    0x449c40
449daf:	83 fa 24             	cmp    $0x24,%edx
449db2:	0f 84 6c fe ff ff    	je     0x449c24
449db8:	83 fa 40             	cmp    $0x40,%edx
449dbb:	0f 84 63 fe ff ff    	je     0x449c24
449dc1:	83 fa 60             	cmp    $0x60,%edx
449dc4:	0f 84 5a fe ff ff    	je     0x449c24
449dca:	81 fa a0 00 00 00    	cmp    $0xa0,%edx
449dd0:	72 0c                	jb     0x449dde
449dd2:	81 fa ff d7 00 00    	cmp    $0xd7ff,%edx
449dd8:	0f 86 46 fe ff ff    	jbe    0x449c24
449dde:	81 fa 00 e0 00 00    	cmp    $0xe000,%edx
449de4:	0f 83 3a fe ff ff    	jae    0x449c24
449dea:	33 c9                	xor    %ecx,%ecx
449dec:	e9 4f fe ff ff       	jmp    0x449c40
449df1:	83 ff 10             	cmp    $0x10,%edi
449df4:	0f 84 64 b2 fc ff    	je     0x41505e
449dfa:	e9 2f b1 fc ff       	jmp    0x414f2e
449dff:	8b 45 f8             	mov    -0x8(%ebp),%eax
449e02:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449e08:	c1 e1 0a             	shl    $0xa,%ecx
449e0b:	0f b7 00             	movzwl (%eax),%eax
449e0e:	25 ff 03 00 00       	and    $0x3ff,%eax
449e13:	0b c8                	or     %eax,%ecx
449e15:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449e1b:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
449e1f:	e9 ac ad fc ff       	jmp    0x414bd0
449e24:	0f b7 46 02          	movzwl 0x2(%esi),%eax
449e28:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449e2e:	25 ff 03 00 00       	and    $0x3ff,%eax
449e33:	c1 e1 0a             	shl    $0xa,%ecx
449e36:	0b c8                	or     %eax,%ecx
449e38:	bf 02 00 00 00       	mov    $0x2,%edi
449e3d:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449e43:	e9 eb ad fc ff       	jmp    0x414c33
449e48:	3b c7                	cmp    %edi,%eax
449e4a:	0f 82 4a ae fc ff    	jb     0x414c9a
449e50:	e9 c3 f2 ff ff       	jmp    0x449118
449e55:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
449e59:	33 c0                	xor    %eax,%eax
449e5b:	83 ff 74             	cmp    $0x74,%edi
449e5e:	0f 94 c0             	sete   %al
449e61:	0f af 4e 24          	imul   0x24(%esi),%ecx
449e65:	89 45 cc             	mov    %eax,-0x34(%ebp)
449e68:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
449e6c:	83 c3 06             	add    $0x6,%ebx
449e6f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
449e72:	8b 46 30             	mov    0x30(%esi),%eax
449e75:	89 5d d0             	mov    %ebx,-0x30(%ebp)
449e78:	8d 04 48             	lea    (%eax,%ecx,2),%eax
449e7b:	8b 4e 54             	mov    0x54(%esi),%ecx
449e7e:	f7 d9                	neg    %ecx
449e80:	89 45 d8             	mov    %eax,-0x28(%ebp)
449e83:	8b 45 e4             	mov    -0x1c(%ebp),%eax
449e86:	1b c9                	sbb    %ecx,%ecx
449e88:	33 ff                	xor    %edi,%edi
449e8a:	f7 d9                	neg    %ecx
449e8c:	89 7d f0             	mov    %edi,-0x10(%ebp)
449e8f:	49                   	dec    %ecx
449e90:	89 4d e0             	mov    %ecx,-0x20(%ebp)
449e93:	85 c0                	test   %eax,%eax
449e95:	7e 7c                	jle    0x449f13
449e97:	48                   	dec    %eax
449e98:	89 45 e4             	mov    %eax,-0x1c(%ebp)
449e9b:	8b 45 d8             	mov    -0x28(%ebp),%eax
449e9e:	0f b7 38             	movzwl (%eax),%edi
449ea1:	03 ff                	add    %edi,%edi
449ea3:	89 7d f0             	mov    %edi,-0x10(%ebp)
449ea6:	3b 7d 0c             	cmp    0xc(%ebp),%edi
449ea9:	7d 12                	jge    0x449ebd
449eab:	8b 46 0c             	mov    0xc(%esi),%eax
449eae:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
449eb2:	7c 09                	jl     0x449ebd
449eb4:	8b 4c b8 04          	mov    0x4(%eax,%edi,4),%ecx
449eb8:	2b 0c b8             	sub    (%eax,%edi,4),%ecx
449ebb:	eb 53                	jmp    0x449f10
449ebd:	8b 46 24             	mov    0x24(%esi),%eax
449ec0:	8b 55 d8             	mov    -0x28(%ebp),%edx
449ec3:	8d 14 42             	lea    (%edx,%eax,2),%edx
449ec6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
449ec9:	89 55 d8             	mov    %edx,-0x28(%ebp)
449ecc:	8b 55 f8             	mov    -0x8(%ebp),%edx
449ecf:	85 c0                	test   %eax,%eax
449ed1:	7f c4                	jg     0x449e97
449ed3:	eb 3e                	jmp    0x449f13
449ed5:	33 c0                	xor    %eax,%eax
449ed7:	83 ff 72             	cmp    $0x72,%edi
449eda:	0f b7 7b 02          	movzwl 0x2(%ebx),%edi
449ede:	0f 94 c0             	sete   %al
449ee1:	03 ff                	add    %edi,%edi
449ee3:	83 c3 04             	add    $0x4,%ebx
449ee6:	89 45 cc             	mov    %eax,-0x34(%ebp)
449ee9:	89 7d f0             	mov    %edi,-0x10(%ebp)
449eec:	89 5d d0             	mov    %ebx,-0x30(%ebp)
449eef:	3b 7d 0c             	cmp    0xc(%ebp),%edi
449ef2:	7d 12                	jge    0x449f06
449ef4:	8b 46 0c             	mov    0xc(%esi),%eax
449ef7:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
449efb:	7c 09                	jl     0x449f06
449efd:	8b 4c b8 04          	mov    0x4(%eax,%edi,4),%ecx
449f01:	2b 0c b8             	sub    (%eax,%edi,4),%ecx
449f04:	eb 0a                	jmp    0x449f10
449f06:	8b 4e 54             	mov    0x54(%esi),%ecx
449f09:	f7 d9                	neg    %ecx
449f0b:	1b c9                	sbb    %ecx,%ecx
449f0d:	f7 d9                	neg    %ecx
449f0f:	49                   	dec    %ecx
449f10:	89 4d e0             	mov    %ecx,-0x20(%ebp)
449f13:	0f b7 03             	movzwl (%ebx),%eax
449f16:	89 45 ec             	mov    %eax,-0x14(%ebp)
449f19:	83 c0 9e             	add    $0xffffff9e,%eax
449f1c:	83 f8 07             	cmp    $0x7,%eax
449f1f:	0f 87 50 01 00 00    	ja     0x44a075
449f25:	0f b6 80 fb 01 45 00 	movzbl 0x4501fb(%eax),%eax
449f2c:	ff 24 85 f3 01 45 00 	jmp    *0x4501f3(,%eax,4)
449f33:	8b 45 ec             	mov    -0x14(%ebp),%eax
449f36:	83 c3 02             	add    $0x2,%ebx
449f39:	83 c0 9e             	add    $0xffffff9e,%eax
449f3c:	89 5d d0             	mov    %ebx,-0x30(%ebp)
449f3f:	0f b6 f8             	movzbl %al,%edi
449f42:	83 e7 01             	and    $0x1,%edi
449f45:	89 7d d4             	mov    %edi,-0x2c(%ebp)
449f48:	0f be b8 30 57 4a 00 	movsbl 0x4a5730(%eax),%edi
449f4f:	0f be 80 3c 57 4a 00 	movsbl 0x4a573c(%eax),%eax
449f56:	89 7d d8             	mov    %edi,-0x28(%ebp)
449f59:	89 45 e4             	mov    %eax,-0x1c(%ebp)
449f5c:	85 c0                	test   %eax,%eax
449f5e:	75 34                	jne    0x449f94