44ea02:	8b cf                	mov    %edi,%ecx
44ea04:	50                   	push   %eax
44ea05:	ff 75 14             	push   0x14(%ebp)
44ea08:	56                   	push   %esi
44ea09:	ff 75 0c             	push   0xc(%ebp)
44ea0c:	ff 75 08             	push   0x8(%ebp)
44ea0f:	e8 ac 5f fc ff       	call   0x4149c0
44ea14:	83 c4 14             	add    $0x14,%esp
44ea17:	85 c0                	test   %eax,%eax
44ea19:	0f 85 1e 61 fc ff    	jne    0x414b3d
44ea1f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44ea22:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
44ea25:	0f 8d 33 66 fc ff    	jge    0x41505e
44ea2b:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ea2e:	0f 83 32 fe ff ff    	jae    0x44e866
44ea34:	0f b7 07             	movzwl (%edi),%eax
44ea37:	83 c7 02             	add    $0x2,%edi
44ea3a:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44ea3d:	0f 85 1b 66 fc ff    	jne    0x41505e
44ea43:	8b 45 18             	mov    0x18(%ebp),%eax
44ea46:	41                   	inc    %ecx
44ea47:	40                   	inc    %eax
44ea48:	89 4d f0             	mov    %ecx,-0x10(%ebp)
44ea4b:	50                   	push   %eax
44ea4c:	ff 75 14             	push   0x14(%ebp)
44ea4f:	8b d3                	mov    %ebx,%edx
44ea51:	8b cf                	mov    %edi,%ecx
44ea53:	56                   	push   %esi
44ea54:	ff 75 0c             	push   0xc(%ebp)
44ea57:	ff 75 08             	push   0x8(%ebp)
44ea5a:	e8 61 5f fc ff       	call   0x4149c0
44ea5f:	83 c4 14             	add    $0x14,%esp
44ea62:	85 c0                	test   %eax,%eax
44ea64:	74 b9                	je     0x44ea1f
44ea66:	e9 d2 60 fc ff       	jmp    0x414b3d
44ea6b:	8b 45 18             	mov    0x18(%ebp),%eax
44ea6e:	8b d3                	mov    %ebx,%edx
44ea70:	8b 7d f8             	mov    -0x8(%ebp),%edi
44ea73:	40                   	inc    %eax
44ea74:	50                   	push   %eax
44ea75:	ff 75 14             	push   0x14(%ebp)
44ea78:	8b cf                	mov    %edi,%ecx
44ea7a:	56                   	push   %esi
44ea7b:	ff 75 0c             	push   0xc(%ebp)
44ea7e:	ff 75 08             	push   0x8(%ebp)
44ea81:	e8 3a 5f fc ff       	call   0x4149c0
44ea86:	83 c4 14             	add    $0x14,%esp
44ea89:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44ea8d:	0f 84 87 00 00 00    	je     0x44eb1a
44ea93:	85 c0                	test   %eax,%eax
44ea95:	0f 85 a2 60 fc ff    	jne    0x414b3d
44ea9b:	8b 55 f0             	mov    -0x10(%ebp),%edx
44ea9e:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44eaa1:	0f 8d b7 65 fc ff    	jge    0x41505e
44eaa7:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44eaaa:	0f 83 b6 fd ff ff    	jae    0x44e866
44eab0:	0f b7 0f             	movzwl (%edi),%ecx
44eab3:	83 c7 02             	add    $0x2,%edi
44eab6:	8b c1                	mov    %ecx,%eax
44eab8:	25 00 fc 00 00       	and    $0xfc00,%eax
44eabd:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44eac2:	75 1c                	jne    0x44eae0
44eac4:	0f b7 07             	movzwl (%edi),%eax
44eac7:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44eacd:	c1 e1 0a             	shl    $0xa,%ecx
44ead0:	25 ff 03 00 00       	and    $0x3ff,%eax
44ead5:	0b c8                	or     %eax,%ecx
44ead7:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44eadd:	83 c7 02             	add    $0x2,%edi
44eae0:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
44eae3:	0f 84 75 65 fc ff    	je     0x41505e
44eae9:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
44eaec:	0f 84 6c 65 fc ff    	je     0x41505e
44eaf2:	8b 45 18             	mov    0x18(%ebp),%eax
44eaf5:	42                   	inc    %edx
44eaf6:	40                   	inc    %eax
44eaf7:	89 55 f0             	mov    %edx,-0x10(%ebp)
44eafa:	50                   	push   %eax
44eafb:	ff 75 14             	push   0x14(%ebp)
44eafe:	8b d3                	mov    %ebx,%edx
44eb00:	8b cf                	mov    %edi,%ecx
44eb02:	56                   	push   %esi
44eb03:	ff 75 0c             	push   0xc(%ebp)
44eb06:	ff 75 08             	push   0x8(%ebp)
44eb09:	e8 b2 5e fc ff       	call   0x4149c0
44eb0e:	83 c4 14             	add    $0x14,%esp
44eb11:	85 c0                	test   %eax,%eax
44eb13:	74 86                	je     0x44ea9b
44eb15:	e9 23 60 fc ff       	jmp    0x414b3d
44eb1a:	85 c0                	test   %eax,%eax
44eb1c:	0f 85 1b 60 fc ff    	jne    0x414b3d
44eb22:	8b 45 f0             	mov    -0x10(%ebp),%eax
44eb25:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44eb28:	0f 8d 30 65 fc ff    	jge    0x41505e
44eb2e:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44eb31:	0f 83 2f fd ff ff    	jae    0x44e866
44eb37:	0f b7 0f             	movzwl (%edi),%ecx
44eb3a:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
44eb3d:	0f 84 1b 65 fc ff    	je     0x41505e
44eb43:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
44eb46:	0f 84 12 65 fc ff    	je     0x41505e
44eb4c:	40                   	inc    %eax
44eb4d:	83 c7 02             	add    $0x2,%edi
44eb50:	89 45 f0             	mov    %eax,-0x10(%ebp)
44eb53:	8b d3                	mov    %ebx,%edx
44eb55:	8b 45 18             	mov    0x18(%ebp),%eax
44eb58:	8b cf                	mov    %edi,%ecx
44eb5a:	40                   	inc    %eax
44eb5b:	50                   	push   %eax
44eb5c:	ff 75 14             	push   0x14(%ebp)
44eb5f:	56                   	push   %esi
44eb60:	ff 75 0c             	push   0xc(%ebp)
44eb63:	ff 75 08             	push   0x8(%ebp)
44eb66:	e8 55 5e fc ff       	call   0x4149c0
44eb6b:	83 c4 14             	add    $0x14,%esp
44eb6e:	85 c0                	test   %eax,%eax
44eb70:	74 b0                	je     0x44eb22
44eb72:	e9 c6 5f fc ff       	jmp    0x414b3d
44eb77:	8b 45 18             	mov    0x18(%ebp),%eax
44eb7a:	8b d3                	mov    %ebx,%edx
44eb7c:	40                   	inc    %eax
44eb7d:	8b cf                	mov    %edi,%ecx
44eb7f:	50                   	push   %eax
44eb80:	ff 75 14             	push   0x14(%ebp)
44eb83:	56                   	push   %esi
44eb84:	ff 75 0c             	push   0xc(%ebp)
44eb87:	ff 75 08             	push   0x8(%ebp)
44eb8a:	e8 31 5e fc ff       	call   0x4149c0
44eb8f:	83 c4 14             	add    $0x14,%esp
44eb92:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44eb96:	74 7e                	je     0x44ec16
44eb98:	85 c0                	test   %eax,%eax
44eb9a:	0f 85 9d 5f fc ff    	jne    0x414b3d
44eba0:	8b 55 f0             	mov    -0x10(%ebp),%edx
44eba3:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44eba6:	0f 8d b2 64 fc ff    	jge    0x41505e
44ebac:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ebaf:	0f 83 b1 fc ff ff    	jae    0x44e866
44ebb5:	0f b7 0f             	movzwl (%edi),%ecx
44ebb8:	83 c7 02             	add    $0x2,%edi
44ebbb:	8b c1                	mov    %ecx,%eax
44ebbd:	25 00 fc 00 00       	and    $0xfc00,%eax
44ebc2:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44ebc7:	75 1c                	jne    0x44ebe5
44ebc9:	0f b7 07             	movzwl (%edi),%eax
44ebcc:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44ebd2:	c1 e1 0a             	shl    $0xa,%ecx
44ebd5:	25 ff 03 00 00       	and    $0x3ff,%eax
44ebda:	0b c8                	or     %eax,%ecx
44ebdc:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44ebe2:	83 c7 02             	add    $0x2,%edi
44ebe5:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
44ebe8:	0f 84 70 64 fc ff    	je     0x41505e
44ebee:	8b 45 18             	mov    0x18(%ebp),%eax
44ebf1:	42                   	inc    %edx
44ebf2:	40                   	inc    %eax
44ebf3:	89 55 f0             	mov    %edx,-0x10(%ebp)
44ebf6:	50                   	push   %eax
44ebf7:	ff 75 14             	push   0x14(%ebp)
44ebfa:	8b d3                	mov    %ebx,%edx
44ebfc:	8b cf                	mov    %edi,%ecx
44ebfe:	56                   	push   %esi
44ebff:	ff 75 0c             	push   0xc(%ebp)
44ec02:	ff 75 08             	push   0x8(%ebp)
44ec05:	e8 b6 5d fc ff       	call   0x4149c0
44ec0a:	83 c4 14             	add    $0x14,%esp
44ec0d:	85 c0                	test   %eax,%eax
44ec0f:	74 8f                	je     0x44eba0
44ec11:	e9 27 5f fc ff       	jmp    0x414b3d
44ec16:	85 c0                	test   %eax,%eax
44ec18:	0f 85 1f 5f fc ff    	jne    0x414b3d
44ec1e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44ec21:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
44ec24:	0f 8d 34 64 fc ff    	jge    0x41505e
44ec2a:	3b 7e 7c             	cmp    0x7c(%esi),%edi
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