44b677:	49                   	dec    %ecx
44b678:	83 c9 80             	or     $0xffffff80,%ecx
44b67b:	41                   	inc    %ecx
44b67c:	03 c1                	add    %ecx,%eax
44b67e:	33 c9                	xor    %ecx,%ecx
44b680:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b687:	00
44b688:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b68f:	00
44b690:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
44b693:	0f 94 c1             	sete   %cl
44b696:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44b699:	0f 84 bf 99 fc ff    	je     0x41505e
44b69f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b6a2:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b6a5:	41                   	inc    %ecx
44b6a6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b6a9:	3b ca                	cmp    %edx,%ecx
44b6ab:	0f 8e 64 ff ff ff    	jle    0x44b615
44b6b1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b6b4:	e9 ef 04 00 00       	jmp    0x44bba8
44b6b9:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b6bc:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b6c3:	83 fa 01             	cmp    $0x1,%edx
44b6c6:	0f 8c 00 9a fc ff    	jl     0x4150cc
44b6cc:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b6cf:	0f 83 91 31 00 00    	jae    0x44e866
44b6d5:	0f b7 0f             	movzwl (%edi),%ecx
44b6d8:	83 c7 02             	add    $0x2,%edi
44b6db:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b6df:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b6e2:	74 2d                	je     0x44b711
44b6e4:	8b c1                	mov    %ecx,%eax
44b6e6:	25 00 fc 00 00       	and    $0xfc00,%eax
44b6eb:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b6f0:	75 1f                	jne    0x44b711
44b6f2:	0f b7 07             	movzwl (%edi),%eax
44b6f5:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b6fb:	c1 e1 0a             	shl    $0xa,%ecx
44b6fe:	25 ff 03 00 00       	and    $0x3ff,%eax
44b703:	0b c8                	or     %eax,%ecx
44b705:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b70b:	83 c7 02             	add    $0x2,%edi
44b70e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b711:	8b c1                	mov    %ecx,%eax
44b713:	99                   	cltd
44b714:	83 e2 7f             	and    $0x7f,%edx
44b717:	03 c2                	add    %edx,%eax
44b719:	c1 f8 07             	sar    $0x7,%eax
44b71c:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b723:	c1 e0 07             	shl    $0x7,%eax
44b726:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b72c:	79 05                	jns    0x44b733
44b72e:	49                   	dec    %ecx
44b72f:	83 c9 80             	or     $0xffffff80,%ecx
44b732:	41                   	inc    %ecx
44b733:	03 c1                	add    %ecx,%eax
44b735:	33 c9                	xor    %ecx,%ecx
44b737:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b73e:	00
44b73f:	0f b6 04 c5 50 2f 4a 	movzbl 0x4a2f50(,%eax,8),%eax
44b746:	00
44b747:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
44b74a:	0f 94 c1             	sete   %cl
44b74d:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44b750:	0f 84 08 99 fc ff    	je     0x41505e
44b756:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b759:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b75c:	41                   	inc    %ecx
44b75d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b760:	3b ca                	cmp    %edx,%ecx
44b762:	0f 8e 64 ff ff ff    	jle    0x44b6cc
44b768:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b76b:	e9 38 04 00 00       	jmp    0x44bba8
44b770:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b773:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b77a:	83 fa 01             	cmp    $0x1,%edx
44b77d:	0f 8c 49 99 fc ff    	jl     0x4150cc
44b783:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b786:	0f 83 da 30 00 00    	jae    0x44e866
44b78c:	0f b7 0f             	movzwl (%edi),%ecx
44b78f:	83 c7 02             	add    $0x2,%edi
44b792:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b796:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b799:	74 2d                	je     0x44b7c8
44b79b:	8b c1                	mov    %ecx,%eax
44b79d:	25 00 fc 00 00       	and    $0xfc00,%eax
44b7a2:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b7a7:	75 1f                	jne    0x44b7c8
44b7a9:	0f b7 07             	movzwl (%edi),%eax
44b7ac:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b7b2:	c1 e1 0a             	shl    $0xa,%ecx
44b7b5:	25 ff 03 00 00       	and    $0x3ff,%eax
44b7ba:	0b c8                	or     %eax,%ecx
44b7bc:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b7c2:	83 c7 02             	add    $0x2,%edi
44b7c5:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b7c8:	8b c1                	mov    %ecx,%eax
44b7ca:	99                   	cltd
44b7cb:	83 e2 7f             	and    $0x7f,%edx
44b7ce:	03 c2                	add    %edx,%eax
44b7d0:	c1 f8 07             	sar    $0x7,%eax
44b7d3:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b7da:	c1 e0 07             	shl    $0x7,%eax
44b7dd:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b7e3:	79 05                	jns    0x44b7ea
44b7e5:	49                   	dec    %ecx
44b7e6:	83 c9 80             	or     $0xffffff80,%ecx
44b7e9:	41                   	inc    %ecx
44b7ea:	03 c1                	add    %ecx,%eax
44b7ec:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b7f3:	00
44b7f4:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b7fb:	00
44b7fc:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
44b803:	83 f8 01             	cmp    $0x1,%eax
44b806:	74 09                	je     0x44b811
44b808:	83 f8 03             	cmp    $0x3,%eax
44b80b:	74 04                	je     0x44b811
44b80d:	33 c0                	xor    %eax,%eax
44b80f:	eb 05                	jmp    0x44b816
44b811:	b8 01 00 00 00       	mov    $0x1,%eax
44b816:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44b819:	0f 84 3f 98 fc ff    	je     0x41505e
44b81f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b822:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b825:	41                   	inc    %ecx
44b826:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b829:	3b ca                	cmp    %edx,%ecx
44b82b:	0f 8e 52 ff ff ff    	jle    0x44b783
44b831:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b834:	e9 6f 03 00 00       	jmp    0x44bba8
44b839:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b83c:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b843:	83 fa 01             	cmp    $0x1,%edx
44b846:	0f 8c 80 98 fc ff    	jl     0x4150cc
44b84c:	8b 45 dc             	mov    -0x24(%ebp),%eax
44b84f:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b852:	0f 83 0e 30 00 00    	jae    0x44e866
44b858:	0f b7 0f             	movzwl (%edi),%ecx
44b85b:	83 c7 02             	add    $0x2,%edi
44b85e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b861:	85 c0                	test   %eax,%eax
44b863:	74 30                	je     0x44b895
44b865:	8b c1                	mov    %ecx,%eax
44b867:	25 00 fc 00 00       	and    $0xfc00,%eax
44b86c:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b871:	75 1f                	jne    0x44b892
44b873:	0f b7 07             	movzwl (%edi),%eax
44b876:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b87c:	c1 e1 0a             	shl    $0xa,%ecx
44b87f:	25 ff 03 00 00       	and    $0x3ff,%eax
44b884:	0b c8                	or     %eax,%ecx
44b886:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b88c:	83 c7 02             	add    $0x2,%edi
44b88f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b892:	8b 45 dc             	mov    -0x24(%ebp),%eax
44b895:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44b89b:	77 45                	ja     0x44b8e2
44b89d:	0f 84 c7 00 00 00    	je     0x44b96a
44b8a3:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44b8a9:	77 1e                	ja     0x44b8c9
44b8ab:	0f 84 b9 00 00 00    	je     0x44b96a
44b8b1:	83 f9 09             	cmp    $0x9,%ecx
44b8b4:	72 5f                	jb     0x44b915
44b8b6:	83 f9 0d             	cmp    $0xd,%ecx
44b8b9:	0f 86 ab 00 00 00    	jbe    0x44b96a
44b8bf:	83 f9 20             	cmp    $0x20,%ecx
44b8c2:	75 51                	jne    0x44b915
44b8c4:	e9 a1 00 00 00       	jmp    0x44b96a
44b8c9:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44b8cf:	0f 84 95 00 00 00    	je     0x44b96a
44b8d5:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44b8db:	75 38                	jne    0x44b915
44b8dd:	e9 88 00 00 00       	jmp    0x44b96a
44b8e2:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44b8e8:	77 1b                	ja     0x44b905
44b8ea:	74 7e                	je     0x44b96a
44b8ec:	8d 81 00 e0 ff ff    	lea    -0x2000(%ecx),%eax
44b8f2:	83 f8 29             	cmp    $0x29,%eax
44b8f5:	77 1e                	ja     0x44b915
44b8f7:	0f b6 80 4b 02 45 00 	movzbl 0x45024b(%eax),%eax
44b8fe:	ff 24 85 43 02 45 00 	jmp    *0x450243(,%eax,4)
44b905:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44b90b:	74 5d                	je     0x44b96a
44b90d:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44b913:	74 55                	je     0x44b96a
44b915:	8b c1                	mov    %ecx,%eax
44b917:	99                   	cltd
44b918:	83 e2 7f             	and    $0x7f,%edx
44b91b:	03 c2                	add    %edx,%eax
44b91d:	c1 f8 07             	sar    $0x7,%eax
44b920:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b927:	c1 e0 07             	shl    $0x7,%eax
44b92a:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b930:	79 05                	jns    0x44b937
44b932:	49                   	dec    %ecx
44b933:	83 c9 80             	or     $0xffffff80,%ecx
44b936:	41                   	inc    %ecx
44b937:	03 c1                	add    %ecx,%eax
44b939:	33 c9                	xor    %ecx,%ecx
44b93b:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b942:	00
44b943:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b94a:	00
44b94b:	83 3c 85 a0 89 4b 00 	cmpl   $0x6,0x4b89a0(,%eax,4)
44b952:	06
44b953:	0f 94 c1             	sete   %cl
44b956:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44b959:	0f 84 ff 96 fc ff    	je     0x41505e
44b95f:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b962:	8b 45 dc             	mov    -0x24(%ebp),%eax
44b965:	eb 0d                	jmp    0x44b974
44b967:	8b 45 dc             	mov    -0x24(%ebp),%eax
44b96a:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
44b96e:	0f 85 ea 96 fc ff    	jne    0x41505e
44b974:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b977:	41                   	inc    %ecx
44b978:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b97b:	3b ca                	cmp    %edx,%ecx
44b97d:	0f 8e cc fe ff ff    	jle    0x44b84f
44b983:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b986:	e9 1d 02 00 00       	jmp    0x44bba8
44b98b:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b98e:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
44b995:	83 fa 01             	cmp    $0x1,%edx
44b998:	0f 8c 2e 97 fc ff    	jl     0x4150cc
44b99e:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b9a1:	0f 83 bf 2e 00 00    	jae    0x44e866
44b9a7:	0f b7 0f             	movzwl (%edi),%ecx
44b9aa:	83 c7 02             	add    $0x2,%edi
44b9ad:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b9b1:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b9b4:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b9b7:	74 30                	je     0x44b9e9
44b9b9:	8b c1                	mov    %ecx,%eax
44b9bb:	25 00 fc 00 00       	and    $0xfc00,%eax
44b9c0:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b9c5:	75 22                	jne    0x44b9e9
44b9c7:	0f b7 07             	movzwl (%edi),%eax
44b9ca:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b9d0:	c1 e1 0a             	shl    $0xa,%ecx
44b9d3:	25 ff 03 00 00       	and    $0x3ff,%eax
44b9d8:	0b c8                	or     %eax,%ecx
44b9da:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b9e0:	83 c7 02             	add    $0x2,%edi
44b9e3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b9e6:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b9e9:	8b c1                	mov    %ecx,%eax
44b9eb:	99                   	cltd
44b9ec:	83 e2 7f             	and    $0x7f,%edx
44b9ef:	03 c2                	add    %edx,%eax
44b9f1:	8b 55 ec             	mov    -0x14(%ebp),%edx
44b9f4:	c1 f8 07             	sar    $0x7,%eax
44b9f7:	0f b6 88 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%ecx
44b9fe:	8b c2                	mov    %edx,%eax
44ba00:	c1 e1 07             	shl    $0x7,%ecx
44ba03:	25 7f 00 00 80       	and    $0x8000007f,%eax
44ba08:	79 05                	jns    0x44ba0f
44ba0a:	48                   	dec    %eax
44ba0b:	83 c8 80             	or     $0xffffff80,%eax
44ba0e:	40                   	inc    %eax
44ba0f:	03 c8                	add    %eax,%ecx
44ba11:	0f b7 04 4d 40 58 4a 	movzwl 0x4a5840(,%ecx,2),%eax
44ba18:	00
44ba19:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44ba20:	00
44ba21:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
44ba28:	83 f8 01             	cmp    $0x1,%eax
44ba2b:	74 0e                	je     0x44ba3b
44ba2d:	83 f8 03             	cmp    $0x3,%eax
44ba30:	74 09                	je     0x44ba3b
44ba32:	83 fa 5f             	cmp    $0x5f,%edx
44ba35:	74 04                	je     0x44ba3b
44ba37:	33 c0                	xor    %eax,%eax
44ba39:	eb 05                	jmp    0x44ba40
44ba3b:	b8 01 00 00 00       	mov    $0x1,%eax
44ba40:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44ba43:	0f 84 15 96 fc ff    	je     0x41505e
44ba49:	8b 4d d8             	mov    -0x28(%ebp),%ecx
44ba4c:	8b 55 f4             	mov    -0xc(%ebp),%edx
44ba4f:	41                   	inc    %ecx
44ba50:	89 4d d8             	mov    %ecx,-0x28(%ebp)
44ba53:	3b ca                	cmp    %edx,%ecx
44ba55:	0f 8e 43 ff ff ff    	jle    0x44b99e
44ba5b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44ba5e:	e9 45 01 00 00       	jmp    0x44bba8
44ba63:	8b 7d f8             	mov    -0x8(%ebp),%edi
44ba66:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44ba6d:	83 fa 01             	cmp    $0x1,%edx
44ba70:	0f 8c 56 96 fc ff    	jl     0x4150cc
44ba76:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44ba79:	0f 83 e7 2d 00 00    	jae    0x44e866
44ba7f:	0f b7 0f             	movzwl (%edi),%ecx
44ba82:	83 c7 02             	add    $0x2,%edi
44ba85:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44ba89:	89 7d f8             	mov    %edi,-0x8(%ebp)
44ba8c:	74 2d                	je     0x44babb
44ba8e:	8b c1                	mov    %ecx,%eax
44ba90:	25 00 fc 00 00       	and    $0xfc00,%eax
44ba95:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44ba9a:	75 1f                	jne    0x44babb
44ba9c:	0f b7 07             	movzwl (%edi),%eax
44ba9f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44baa5:	c1 e1 0a             	shl    $0xa,%ecx
44baa8:	25 ff 03 00 00       	and    $0x3ff,%eax
44baad:	0b c8                	or     %eax,%ecx
44baaf:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44bab5:	83 c7 02             	add    $0x2,%edi
44bab8:	89 7d f8             	mov    %edi,-0x8(%ebp)
44babb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
44babe:	8b 14 85 d0 45 4a 00 	mov    0x4a45d0(,%eax,4),%edx
44bac5:	8d 04 85 d0 45 4a 00 	lea    0x4a45d0(,%eax,4),%eax
44bacc:	3b ca                	cmp    %edx,%ecx
44bace:	72 0d                	jb     0x44badd
44bad0:	8d 40 04             	lea    0x4(%eax),%eax
44bad3:	3b ca                	cmp    %edx,%ecx
44bad5:	74 26                	je     0x44bafd
44bad7:	8b 10                	mov    (%eax),%edx
44bad9:	3b ca                	cmp    %edx,%ecx
44badb:	73 f3                	jae    0x44bad0
44badd:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
44bae1:	0f 84 77 95 fc ff    	je     0x41505e
44bae7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44baea:	8b 55 f4             	mov    -0xc(%ebp),%edx
44baed:	41                   	inc    %ecx
44baee:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44baf1:	3b ca                	cmp    %edx,%ecx
44baf3:	7e 81                	jle    0x44ba76
44baf5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44baf8:	e9 ab 00 00 00       	jmp    0x44bba8
44bafd:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
44bb01:	0f 85 57 95 fc ff    	jne    0x41505e
44bb07:	eb de                	jmp    0x44bae7
44bb09:	8b 7d f8             	mov    -0x8(%ebp),%edi
44bb0c:	ba 01 00 00 00       	mov    $0x1,%edx
44bb11:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44bb14:	0f 8c 73 0e 00 00    	jl     0x44c98d
44bb1a:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44bb1d:	0f 83 43 2d 00 00    	jae    0x44e866
44bb23:	0f b7 0f             	movzwl (%edi),%ecx
44bb26:	83 c7 02             	add    $0x2,%edi
44bb29:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44bb2d:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bb30:	74 2d                	je     0x44bb5f
44bb32:	8b c1                	mov    %ecx,%eax
44bb34:	25 00 fc 00 00       	and    $0xfc00,%eax
44bb39:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44bb3e:	75 1f                	jne    0x44bb5f
44bb40:	0f b7 07             	movzwl (%edi),%eax