44ec2d:	0f 83 33 fc ff ff    	jae    0x44e866
44ec33:	0f b7 07             	movzwl (%edi),%eax
44ec36:	83 c7 02             	add    $0x2,%edi
44ec39:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44ec3c:	0f 84 1c 64 fc ff    	je     0x41505e
44ec42:	8b 45 18             	mov    0x18(%ebp),%eax
44ec45:	41                   	inc    %ecx
44ec46:	40                   	inc    %eax
44ec47:	89 4d f0             	mov    %ecx,-0x10(%ebp)
44ec4a:	50                   	push   %eax
44ec4b:	ff 75 14             	push   0x14(%ebp)
44ec4e:	8b d3                	mov    %ebx,%edx
44ec50:	8b cf                	mov    %edi,%ecx
44ec52:	56                   	push   %esi
44ec53:	ff 75 0c             	push   0xc(%ebp)
44ec56:	ff 75 08             	push   0x8(%ebp)
44ec59:	e8 62 5d fc ff       	call   0x4149c0
44ec5e:	83 c4 14             	add    $0x14,%esp
44ec61:	85 c0                	test   %eax,%eax
44ec63:	74 b9                	je     0x44ec1e
44ec65:	e9 d3 5e fc ff       	jmp    0x414b3d
44ec6a:	83 f9 0a             	cmp    $0xa,%ecx
44ec6d:	0f 87 8b f8 ff ff    	ja     0x44e4fe
44ec73:	ff 24 8d d7 03 45 00 	jmp    *0x4503d7(,%ecx,4)
44ec7a:	8b 45 18             	mov    0x18(%ebp),%eax
44ec7d:	8b d3                	mov    %ebx,%edx
44ec7f:	40                   	inc    %eax
44ec80:	8b cf                	mov    %edi,%ecx
44ec82:	50                   	push   %eax
44ec83:	ff 75 14             	push   0x14(%ebp)
44ec86:	56                   	push   %esi
44ec87:	ff 75 0c             	push   0xc(%ebp)
44ec8a:	ff 75 08             	push   0x8(%ebp)
44ec8d:	e8 2e 5d fc ff       	call   0x4149c0
44ec92:	83 c4 14             	add    $0x14,%esp
44ec95:	85 c0                	test   %eax,%eax
44ec97:	0f 85 a0 5e fc ff    	jne    0x414b3d
44ec9d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44eca0:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
44eca3:	0f 8d b5 63 fc ff    	jge    0x41505e
44eca9:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ecac:	0f 83 b4 fb ff ff    	jae    0x44e866
44ecb2:	0f b7 07             	movzwl (%edi),%eax
44ecb5:	83 c7 02             	add    $0x2,%edi
44ecb8:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44ecbc:	74 0f                	je     0x44eccd
44ecbe:	25 00 fc 00 00       	and    $0xfc00,%eax
44ecc3:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44ecc8:	75 03                	jne    0x44eccd
44ecca:	83 c7 02             	add    $0x2,%edi
44eccd:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
44ecd1:	0f 85 87 63 fc ff    	jne    0x41505e
44ecd7:	8b 45 18             	mov    0x18(%ebp),%eax
44ecda:	41                   	inc    %ecx
44ecdb:	40                   	inc    %eax
44ecdc:	89 4d f4             	mov    %ecx,-0xc(%ebp)
44ecdf:	50                   	push   %eax
44ece0:	ff 75 14             	push   0x14(%ebp)
44ece3:	8b d3                	mov    %ebx,%edx
44ece5:	8b cf                	mov    %edi,%ecx
44ece7:	56                   	push   %esi
44ece8:	ff 75 0c             	push   0xc(%ebp)
44eceb:	ff 75 08             	push   0x8(%ebp)
44ecee:	e8 cd 5c fc ff       	call   0x4149c0
44ecf3:	83 c4 14             	add    $0x14,%esp
44ecf6:	85 c0                	test   %eax,%eax
44ecf8:	74 a3                	je     0x44ec9d
44ecfa:	e9 3e 5e fc ff       	jmp    0x414b3d
44ecff:	8b 45 18             	mov    0x18(%ebp),%eax
44ed02:	8b d3                	mov    %ebx,%edx
44ed04:	40                   	inc    %eax
44ed05:	8b cf                	mov    %edi,%ecx
44ed07:	50                   	push   %eax
44ed08:	ff 75 14             	push   0x14(%ebp)
44ed0b:	56                   	push   %esi
44ed0c:	ff 75 0c             	push   0xc(%ebp)
44ed0f:	ff 75 08             	push   0x8(%ebp)
44ed12:	e8 a9 5c fc ff       	call   0x4149c0
44ed17:	83 c4 14             	add    $0x14,%esp
44ed1a:	85 c0                	test   %eax,%eax
44ed1c:	0f 85 1b 5e fc ff    	jne    0x414b3d
44ed22:	8b 45 e8             	mov    -0x18(%ebp),%eax
44ed25:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44ed28:	0f 8d 30 63 fc ff    	jge    0x41505e
44ed2e:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ed31:	0f 83 2f fb ff ff    	jae    0x44e866
44ed37:	0f b7 0f             	movzwl (%edi),%ecx
44ed3a:	83 c7 02             	add    $0x2,%edi
44ed3d:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44ed41:	74 2a                	je     0x44ed6d
44ed43:	8b c1                	mov    %ecx,%eax
44ed45:	25 00 fc 00 00       	and    $0xfc00,%eax
44ed4a:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44ed4f:	75 1c                	jne    0x44ed6d
44ed51:	0f b7 07             	movzwl (%edi),%eax
44ed54:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44ed5a:	c1 e1 0a             	shl    $0xa,%ecx
44ed5d:	25 ff 03 00 00       	and    $0x3ff,%eax
44ed62:	0b c8                	or     %eax,%ecx
44ed64:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44ed6a:	83 c7 02             	add    $0x2,%edi
44ed6d:	8b c1                	mov    %ecx,%eax
44ed6f:	99                   	cltd
44ed70:	83 e2 7f             	and    $0x7f,%edx
44ed73:	03 c2                	add    %edx,%eax
44ed75:	c1 f8 07             	sar    $0x7,%eax
44ed78:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44ed7f:	c1 e0 07             	shl    $0x7,%eax
44ed82:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44ed88:	79 05                	jns    0x44ed8f
44ed8a:	49                   	dec    %ecx
44ed8b:	83 c9 80             	or     $0xffffff80,%ecx
44ed8e:	41                   	inc    %ecx
44ed8f:	03 c1                	add    %ecx,%eax
44ed91:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44ed98:	00
44ed99:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44eda0:	00
44eda1:	83 f8 09             	cmp    $0x9,%eax
44eda4:	74 0e                	je     0x44edb4
44eda6:	83 f8 05             	cmp    $0x5,%eax
44eda9:	74 09                	je     0x44edb4
44edab:	83 f8 08             	cmp    $0x8,%eax
44edae:	74 04                	je     0x44edb4
44edb0:	33 c0                	xor    %eax,%eax
44edb2:	eb 05                	jmp    0x44edb9
44edb4:	b8 01 00 00 00       	mov    $0x1,%eax
44edb9:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44edbc:	0f 84 9c 62 fc ff    	je     0x41505e
44edc2:	8b 45 18             	mov    0x18(%ebp),%eax
44edc5:	8b d3                	mov    %ebx,%edx
44edc7:	ff 45 f4             	incl   -0xc(%ebp)
44edca:	40                   	inc    %eax
44edcb:	50                   	push   %eax
44edcc:	ff 75 14             	push   0x14(%ebp)
44edcf:	8b cf                	mov    %edi,%ecx
44edd1:	56                   	push   %esi
44edd2:	ff 75 0c             	push   0xc(%ebp)
44edd5:	ff 75 08             	push   0x8(%ebp)
44edd8:	e8 e3 5b fc ff       	call   0x4149c0
44eddd:	83 c4 14             	add    $0x14,%esp
44ede0:	85 c0                	test   %eax,%eax
44ede2:	0f 84 3a ff ff ff    	je     0x44ed22
44ede8:	e9 50 5d fc ff       	jmp    0x414b3d
44eded:	8b 45 18             	mov    0x18(%ebp),%eax
44edf0:	8b d3                	mov    %ebx,%edx
44edf2:	40                   	inc    %eax
44edf3:	8b cf                	mov    %edi,%ecx
44edf5:	50                   	push   %eax
44edf6:	ff 75 14             	push   0x14(%ebp)
44edf9:	56                   	push   %esi
44edfa:	ff 75 0c             	push   0xc(%ebp)
44edfd:	ff 75 08             	push   0x8(%ebp)
44ee00:	e8 bb 5b fc ff       	call   0x4149c0
44ee05:	83 c4 14             	add    $0x14,%esp
44ee08:	85 c0                	test   %eax,%eax
44ee0a:	0f 85 2d 5d fc ff    	jne    0x414b3d
44ee10:	8b 45 e8             	mov    -0x18(%ebp),%eax
44ee13:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44ee16:	0f 8d 42 62 fc ff    	jge    0x41505e
44ee1c:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ee1f:	0f 83 41 fa ff ff    	jae    0x44e866
44ee25:	0f b7 0f             	movzwl (%edi),%ecx
44ee28:	83 c7 02             	add    $0x2,%edi
44ee2b:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44ee2f:	74 2a                	je     0x44ee5b
44ee31:	8b c1                	mov    %ecx,%eax
44ee33:	25 00 fc 00 00       	and    $0xfc00,%eax
44ee38:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44ee3d:	75 1c                	jne    0x44ee5b
44ee3f:	0f b7 07             	movzwl (%edi),%eax
44ee42:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44ee48:	c1 e1 0a             	shl    $0xa,%ecx
44ee4b:	25 ff 03 00 00       	and    $0x3ff,%eax
44ee50:	0b c8                	or     %eax,%ecx
44ee52:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44ee58:	83 c7 02             	add    $0x2,%edi
44ee5b:	8b c1                	mov    %ecx,%eax
44ee5d:	99                   	cltd
44ee5e:	83 e2 7f             	and    $0x7f,%edx
44ee61:	03 c2                	add    %edx,%eax
44ee63:	c1 f8 07             	sar    $0x7,%eax
44ee66:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44ee6d:	c1 e0 07             	shl    $0x7,%eax
44ee70:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44ee76:	79 05                	jns    0x44ee7d
44ee78:	49                   	dec    %ecx
44ee79:	83 c9 80             	or     $0xffffff80,%ecx
44ee7c:	41                   	inc    %ecx
44ee7d:	8b 55 c4             	mov    -0x3c(%ebp),%edx
44ee80:	03 c1                	add    %ecx,%eax
44ee82:	33 c9                	xor    %ecx,%ecx
44ee84:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44ee8b:	00
44ee8c:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44ee93:	00
44ee94:	39 14 85 a0 89 4b 00 	cmp    %edx,0x4b89a0(,%eax,4)
44ee9b:	0f 94 c1             	sete   %cl
44ee9e:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44eea1:	0f 84 b7 61 fc ff    	je     0x41505e
44eea7:	8b 45 18             	mov    0x18(%ebp),%eax
44eeaa:	8b d3                	mov    %ebx,%edx
44eeac:	ff 45 f4             	incl   -0xc(%ebp)
44eeaf:	40                   	inc    %eax
44eeb0:	50                   	push   %eax
44eeb1:	ff 75 14             	push   0x14(%ebp)
44eeb4:	8b cf                	mov    %edi,%ecx
44eeb6:	56                   	push   %esi
44eeb7:	ff 75 0c             	push   0xc(%ebp)
44eeba:	ff 75 08             	push   0x8(%ebp)
44eebd:	e8 fe 5a fc ff       	call   0x4149c0
44eec2:	83 c4 14             	add    $0x14,%esp
44eec5:	85 c0                	test   %eax,%eax
44eec7:	0f 84 43 ff ff ff    	je     0x44ee10
44eecd:	e9 6b 5c fc ff       	jmp    0x414b3d
44eed2:	8b 45 18             	mov    0x18(%ebp),%eax
44eed5:	8b d3                	mov    %ebx,%edx
44eed7:	40                   	inc    %eax
44eed8:	8b cf                	mov    %edi,%ecx
44eeda:	50                   	push   %eax
44eedb:	ff 75 14             	push   0x14(%ebp)
44eede:	56                   	push   %esi
44eedf:	ff 75 0c             	push   0xc(%ebp)
44eee2:	ff 75 08             	push   0x8(%ebp)
44eee5:	e8 d6 5a fc ff       	call   0x4149c0
44eeea:	83 c4 14             	add    $0x14,%esp
44eeed:	85 c0                	test   %eax,%eax
44eeef:	0f 85 48 5c fc ff    	jne    0x414b3d
44eef5:	8b 45 e8             	mov    -0x18(%ebp),%eax
44eef8:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44eefb:	0f 8d 5d 61 fc ff    	jge    0x41505e
44ef01:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ef04:	0f 83 5c f9 ff ff    	jae    0x44e866
44ef0a:	0f b7 0f             	movzwl (%edi),%ecx
44ef0d:	83 c7 02             	add    $0x2,%edi
44ef10:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44ef14:	74 2a                	je     0x44ef40
44ef16:	8b c1                	mov    %ecx,%eax
44ef18:	25 00 fc 00 00       	and    $0xfc00,%eax
44ef1d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44ef22:	75 1c                	jne    0x44ef40
44ef24:	0f b7 07             	movzwl (%edi),%eax
44ef27:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44ef2d:	c1 e1 0a             	shl    $0xa,%ecx
44ef30:	25 ff 03 00 00       	and    $0x3ff,%eax
44ef35:	0b c8                	or     %eax,%ecx
44ef37:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44ef3d:	83 c7 02             	add    $0x2,%edi
44ef40:	8b c1                	mov    %ecx,%eax
44ef42:	99                   	cltd
44ef43:	83 e2 7f             	and    $0x7f,%edx
44ef46:	03 c2                	add    %edx,%eax
44ef48:	c1 f8 07             	sar    $0x7,%eax
44ef4b:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44ef52:	c1 e0 07             	shl    $0x7,%eax
44ef55:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44ef5b:	79 05                	jns    0x44ef62
44ef5d:	49                   	dec    %ecx
44ef5e:	83 c9 80             	or     $0xffffff80,%ecx
44ef61:	41                   	inc    %ecx
44ef62:	03 c1                	add    %ecx,%eax
44ef64:	33 c9                	xor    %ecx,%ecx
44ef66:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44ef6d:	00
44ef6e:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44ef75:	00
44ef76:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
44ef79:	0f 94 c1             	sete   %cl
44ef7c:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44ef7f:	0f 84 d9 60 fc ff    	je     0x41505e
44ef85:	8b 45 18             	mov    0x18(%ebp),%eax
44ef88:	8b d3                	mov    %ebx,%edx
44ef8a:	ff 45 f4             	incl   -0xc(%ebp)
44ef8d:	40                   	inc    %eax
44ef8e:	50                   	push   %eax
44ef8f:	ff 75 14             	push   0x14(%ebp)
44ef92:	8b cf                	mov    %edi,%ecx
44ef94:	56                   	push   %esi
44ef95:	ff 75 0c             	push   0xc(%ebp)
44ef98:	ff 75 08             	push   0x8(%ebp)
44ef9b:	e8 20 5a fc ff       	call   0x4149c0
44efa0:	83 c4 14             	add    $0x14,%esp
44efa3:	85 c0                	test   %eax,%eax
44efa5:	0f 84 4a ff ff ff    	je     0x44eef5
44efab:	e9 8d 5b fc ff       	jmp    0x414b3d
44efb0:	8b 45 18             	mov    0x18(%ebp),%eax
44efb3:	8b d3                	mov    %ebx,%edx
44efb5:	40                   	inc    %eax
44efb6:	8b cf                	mov    %edi,%ecx
44efb8:	50                   	push   %eax
44efb9:	ff 75 14             	push   0x14(%ebp)
44efbc:	56                   	push   %esi
44efbd:	ff 75 0c             	push   0xc(%ebp)
44efc0:	ff 75 08             	push   0x8(%ebp)
44efc3:	e8 f8 59 fc ff       	call   0x4149c0
44efc8:	83 c4 14             	add    $0x14,%esp
44efcb:	85 c0                	test   %eax,%eax
44efcd:	0f 85 6a 5b fc ff    	jne    0x414b3d
44efd3:	8b 45 e8             	mov    -0x18(%ebp),%eax
44efd6:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44efd9:	0f 8d 7f 60 fc ff    	jge    0x41505e
44efdf:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44efe2:	0f 83 7e f8 ff ff    	jae    0x44e866
44efe8:	0f b7 0f             	movzwl (%edi),%ecx
44efeb:	83 c7 02             	add    $0x2,%edi
44efee:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44eff2:	74 2a                	je     0x44f01e
44eff4:	8b c1                	mov    %ecx,%eax
44eff6:	25 00 fc 00 00       	and    $0xfc00,%eax
44effb:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44f000:	75 1c                	jne    0x44f01e
44f002:	0f b7 07             	movzwl (%edi),%eax
44f005:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f00b:	c1 e1 0a             	shl    $0xa,%ecx
44f00e:	25 ff 03 00 00       	and    $0x3ff,%eax
44f013:	0b c8                	or     %eax,%ecx
44f015:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f01b:	83 c7 02             	add    $0x2,%edi
44f01e:	8b c1                	mov    %ecx,%eax
44f020:	99                   	cltd
44f021:	83 e2 7f             	and    $0x7f,%edx
44f024:	03 c2                	add    %edx,%eax
44f026:	c1 f8 07             	sar    $0x7,%eax
44f029:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44f030:	c1 e0 07             	shl    $0x7,%eax
44f033:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44f039:	79 05                	jns    0x44f040
44f03b:	49                   	dec    %ecx
44f03c:	83 c9 80             	or     $0xffffff80,%ecx
44f03f:	41                   	inc    %ecx
44f040:	03 c1                	add    %ecx,%eax
44f042:	33 c9                	xor    %ecx,%ecx
44f044:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44f04b:	00
44f04c:	0f b6 04 c5 50 2f 4a 	movzbl 0x4a2f50(,%eax,8),%eax
44f053:	00
44f054:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
44f057:	0f 94 c1             	sete   %cl
44f05a:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44f05d:	0f 84 fb 5f fc ff    	je     0x41505e
44f063:	8b 45 18             	mov    0x18(%ebp),%eax
44f066:	8b d3                	mov    %ebx,%edx
44f068:	ff 45 f4             	incl   -0xc(%ebp)
44f06b:	40                   	inc    %eax
44f06c:	50                   	push   %eax
44f06d:	ff 75 14             	push   0x14(%ebp)
44f070:	8b cf                	mov    %edi,%ecx
44f072:	56                   	push   %esi
44f073:	ff 75 0c             	push   0xc(%ebp)
44f076:	ff 75 08             	push   0x8(%ebp)