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
449f60:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
449f67:	eb 2b                	jmp    0x449f94
449f69:	0f b7 7b 02          	movzwl 0x2(%ebx),%edi
449f6d:	33 c0                	xor    %eax,%eax
449f6f:	66 83 3b 69          	cmpw   $0x69,(%ebx)
449f73:	89 7d d8             	mov    %edi,-0x28(%ebp)
449f76:	0f 94 c0             	sete   %al
449f79:	89 45 d4             	mov    %eax,-0x2c(%ebp)
449f7c:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
449f80:	89 45 e4             	mov    %eax,-0x1c(%ebp)
449f83:	85 c0                	test   %eax,%eax
449f85:	75 07                	jne    0x449f8e
449f87:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
449f8e:	83 c3 06             	add    $0x6,%ebx
449f91:	89 5d d0             	mov    %ebx,-0x30(%ebp)
449f94:	85 c9                	test   %ecx,%ecx
449f96:	0f 84 83 aa fc ff    	je     0x414a1f
449f9c:	79 08                	jns    0x449fa6
449f9e:	85 ff                	test   %edi,%edi
449fa0:	0f 84 79 aa fc ff    	je     0x414a1f
449fa6:	8b 45 f8             	mov    -0x8(%ebp),%eax
449fa9:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
449fb0:	83 ff 01             	cmp    $0x1,%edi
449fb3:	7c 33                	jl     0x449fe8
449fb5:	ff 75 cc             	push   -0x34(%ebp)
449fb8:	8b d0                	mov    %eax,%edx
449fba:	56                   	push   %esi
449fbb:	51                   	push   %ecx
449fbc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
449fbf:	e8 f9 47 04 00       	call   0x48e7bd
449fc4:	8b c8                	mov    %eax,%ecx
449fc6:	83 c4 0c             	add    $0xc,%esp
449fc9:	85 c9                	test   %ecx,%ecx
449fcb:	0f 88 0d 46 00 00    	js     0x44e5de
449fd1:	8b 45 f8             	mov    -0x8(%ebp),%eax
449fd4:	8d 04 48             	lea    (%eax,%ecx,2),%eax
449fd7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
449fda:	41                   	inc    %ecx
449fdb:	89 45 f8             	mov    %eax,-0x8(%ebp)
449fde:	89 4d ec             	mov    %ecx,-0x14(%ebp)
449fe1:	3b cf                	cmp    %edi,%ecx
449fe3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
449fe6:	7e cd                	jle    0x449fb5
449fe8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
449feb:	3b fa                	cmp    %edx,%edi
449fed:	0f 84 ad ac fc ff    	je     0x414ca0
449ff3:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
449ff7:	0f 84 31 45 00 00    	je     0x44e52e
449ffd:	8b 45 18             	mov    0x18(%ebp),%eax
44a000:	8b d3                	mov    %ebx,%edx
44a002:	8b 7d f8             	mov    -0x8(%ebp),%edi
44a005:	40                   	inc    %eax
44a006:	50                   	push   %eax
44a007:	ff 75 14             	push   0x14(%ebp)
44a00a:	8b cf                	mov    %edi,%ecx
44a00c:	56                   	push   %esi
44a00d:	ff 75 0c             	push   0xc(%ebp)
44a010:	ff 75 08             	push   0x8(%ebp)
44a013:	e8 a8 a9 fc ff       	call   0x4149c0
44a018:	83 c4 14             	add    $0x14,%esp
44a01b:	85 c0                	test   %eax,%eax
44a01d:	0f 85 1a ab fc ff    	jne    0x414b3d
44a023:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44a026:	39 45 d8             	cmp    %eax,-0x28(%ebp)
44a029:	0f 8d 2f b0 fc ff    	jge    0x41505e
44a02f:	ff 75 cc             	push   -0x34(%ebp)
44a032:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44a035:	8b d7                	mov    %edi,%edx
44a037:	56                   	push   %esi
44a038:	ff 75 e0             	push   -0x20(%ebp)
44a03b:	e8 7d 47 04 00       	call   0x48e7bd
44a040:	83 c4 0c             	add    $0xc,%esp
44a043:	85 c0                	test   %eax,%eax
44a045:	0f 88 bd 44 00 00    	js     0x44e508
44a04b:	ff 45 d8             	incl   -0x28(%ebp)
44a04e:	8d 3c 47             	lea    (%edi,%eax,2),%edi
44a051:	8b 45 18             	mov    0x18(%ebp),%eax
44a054:	8b d3                	mov    %ebx,%edx
44a056:	40                   	inc    %eax
44a057:	8b cf                	mov    %edi,%ecx
44a059:	50                   	push   %eax
44a05a:	ff 75 14             	push   0x14(%ebp)
44a05d:	56                   	push   %esi
44a05e:	ff 75 0c             	push   0xc(%ebp)
44a061:	ff 75 08             	push   0x8(%ebp)
44a064:	e8 57 a9 fc ff       	call   0x4149c0
44a069:	83 c4 14             	add    $0x14,%esp
44a06c:	85 c0                	test   %eax,%eax
44a06e:	74 b3                	je     0x44a023
44a070:	e9 c8 aa fc ff       	jmp    0x414b3d
44a075:	ff 75 cc             	push   -0x34(%ebp)
44a078:	8b 55 f8             	mov    -0x8(%ebp),%edx
44a07b:	56                   	push   %esi
44a07c:	51                   	push   %ecx
44a07d:	8b cf                	mov    %edi,%ecx
44a07f:	e8 39 47 04 00       	call   0x48e7bd
44a084:	8b c8                	mov    %eax,%ecx
44a086:	83 c4 0c             	add    $0xc,%esp
44a089:	85 c9                	test   %ecx,%ecx
44a08b:	0f 88 4d 45 00 00    	js     0x44e5de
44a091:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a094:	8d 04 48             	lea    (%eax,%ecx,2),%eax
44a097:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a09a:	e9 01 ac fc ff       	jmp    0x414ca0
44a09f:	33 d2                	xor    %edx,%edx
44a0a1:	83 f9 69             	cmp    $0x69,%ecx
44a0a4:	0f 94 c2             	sete   %dl
44a0a7:	33 c0                	xor    %eax,%eax
44a0a9:	83 f9 6d             	cmp    $0x6d,%ecx
44a0ac:	0f b7 4b 04          	movzwl 0x4(%ebx),%ecx
44a0b0:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
44a0b3:	0f 94 c0             	sete   %al
44a0b6:	89 45 cc             	mov    %eax,-0x34(%ebp)
44a0b9:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
44a0bd:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a0c0:	85 c9                	test   %ecx,%ecx
44a0c2:	75 08                	jne    0x44a0cc
44a0c4:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
44a0c9:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
44a0cc:	83 c3 06             	add    $0x6,%ebx
44a0cf:	89 5d d0             	mov    %ebx,-0x30(%ebp)
44a0d2:	e9 fe ab fc ff       	jmp    0x414cd5
44a0d7:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a0da:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44a0e0:	c1 e1 0a             	shl    $0xa,%ecx
44a0e3:	0f b7 00             	movzwl (%eax),%eax
44a0e6:	25 ff 03 00 00       	and    $0x3ff,%eax
44a0eb:	0b c8                	or     %eax,%ecx
44a0ed:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44a0f3:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
44a0f7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44a0fa:	e9 1b ac fc ff       	jmp    0x414d1a
44a0ff:	83 ff 6e             	cmp    $0x6e,%edi
44a102:	0f 84 56 af fc ff    	je     0x41505e
44a108:	e9 38 ac fc ff       	jmp    0x414d45
44a10d:	83 f8 01             	cmp    $0x1,%eax
44a110:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44a117:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a11a:	0f 8c 37 ac fc ff    	jl     0x414d57
44a120:	3b 46 7c             	cmp    0x7c(%esi),%eax
44a123:	0f 83 96 43 00 00    	jae    0x44e4bf
44a129:	0f b7 08             	movzwl (%eax),%ecx
44a12c:	83 c0 02             	add    $0x2,%eax
44a12f:	89 4d d8             	mov    %ecx,-0x28(%ebp)
44a132:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a135:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
44a13b:	76 0b                	jbe    0x44a148
44a13d:	83 ff 6e             	cmp    $0x6e,%edi
44a140:	0f 84 18 af fc ff    	je     0x41505e
44a146:	eb 22                	jmp    0x44a16a
44a148:	8b 75 e0             	mov    -0x20(%ebp),%esi
44a14b:	83 e1 07             	and    $0x7,%ecx
44a14e:	b8 01 00 00 00       	mov    $0x1,%eax
44a153:	d3 e0                	shl    %cl,%eax
44a155:	8b 4d d8             	mov    -0x28(%ebp),%ecx
44a158:	c1 e9 03             	shr    $0x3,%ecx
44a15b:	84 04 31             	test   %al,(%ecx,%esi,1)
44a15e:	8b 75 10             	mov    0x10(%ebp),%esi
44a161:	0f 84 f7 ae fc ff    	je     0x41505e
44a167:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a16a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44a16d:	41                   	inc    %ecx
44a16e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44a171:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
44a174:	7e aa                	jle    0x44a120
44a176:	e9 d9 ab fc ff       	jmp    0x414d54
44a17b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a17e:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
44a184:	c1 e2 0a             	shl    $0xa,%edx
44a187:	b9 02 00 00 00       	mov    $0x2,%ecx
44a18c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44a18f:	0f b7 40 02          	movzwl 0x2(%eax),%eax
44a193:	25 ff 03 00 00       	and    $0x3ff,%eax
44a198:	0b d0                	or     %eax,%edx
44a19a:	81 c2 00 00 01 00    	add    $0x10000,%edx