44bb43:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44bb49:	c1 e1 0a             	shl    $0xa,%ecx
44bb4c:	25 ff 03 00 00       	and    $0x3ff,%eax
44bb51:	0b c8                	or     %eax,%ecx
44bb53:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44bb59:	83 c7 02             	add    $0x2,%edi
44bb5c:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bb5f:	83 f9 24             	cmp    $0x24,%ecx
44bb62:	74 26                	je     0x44bb8a
44bb64:	83 f9 40             	cmp    $0x40,%ecx
44bb67:	74 21                	je     0x44bb8a
44bb69:	83 f9 60             	cmp    $0x60,%ecx
44bb6c:	74 1c                	je     0x44bb8a
44bb6e:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44bb74:	72 08                	jb     0x44bb7e
44bb76:	81 f9 ff d7 00 00    	cmp    $0xd7ff,%ecx
44bb7c:	76 0c                	jbe    0x44bb8a
44bb7e:	81 f9 00 e0 00 00    	cmp    $0xe000,%ecx
44bb84:	73 04                	jae    0x44bb8a
44bb86:	33 c0                	xor    %eax,%eax
44bb88:	eb 05                	jmp    0x44bb8f
44bb8a:	b8 01 00 00 00       	mov    $0x1,%eax
44bb8f:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44bb92:	0f 84 c6 94 fc ff    	je     0x41505e
44bb98:	42                   	inc    %edx
44bb99:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44bb9c:	0f 8e 78 ff ff ff    	jle    0x44bb1a
44bba2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44bba5:	8b 55 f4             	mov    -0xc(%ebp),%edx
44bba8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44bbab:	e9 1c 95 fc ff       	jmp    0x4150cc
44bbb0:	83 ff 16             	cmp    $0x16,%edi
44bbb3:	0f 85 89 01 00 00    	jne    0x44bd42
44bbb9:	8b 7d f8             	mov    -0x8(%ebp),%edi
44bbbc:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
44bbc3:	83 fa 01             	cmp    $0x1,%edx
44bbc6:	0f 8c 00 95 fc ff    	jl     0x4150cc
44bbcc:	8b 46 7c             	mov    0x7c(%esi),%eax
44bbcf:	89 45 d8             	mov    %eax,-0x28(%ebp)
44bbd2:	3b f8                	cmp    %eax,%edi
44bbd4:	0f 83 8c 2c 00 00    	jae    0x44e866
44bbda:	0f b7 0f             	movzwl (%edi),%ecx
44bbdd:	83 c7 02             	add    $0x2,%edi
44bbe0:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44bbe4:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bbe7:	74 2d                	je     0x44bc16
44bbe9:	8b c1                	mov    %ecx,%eax
44bbeb:	25 00 fc 00 00       	and    $0xfc00,%eax
44bbf0:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44bbf5:	75 1f                	jne    0x44bc16
44bbf7:	0f b7 07             	movzwl (%edi),%eax
44bbfa:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44bc00:	c1 e1 0a             	shl    $0xa,%ecx
44bc03:	25 ff 03 00 00       	and    $0x3ff,%eax
44bc08:	0b c8                	or     %eax,%ecx
44bc0a:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44bc10:	83 c7 02             	add    $0x2,%edi
44bc13:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bc16:	8b c1                	mov    %ecx,%eax
44bc18:	99                   	cltd
44bc19:	83 e2 7f             	and    $0x7f,%edx
44bc1c:	03 c2                	add    %edx,%eax
44bc1e:	c1 f8 07             	sar    $0x7,%eax
44bc21:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44bc28:	c1 e0 07             	shl    $0x7,%eax
44bc2b:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44bc31:	79 05                	jns    0x44bc38
44bc33:	49                   	dec    %ecx
44bc34:	83 c9 80             	or     $0xffffff80,%ecx
44bc37:	41                   	inc    %ecx
44bc38:	03 c1                	add    %ecx,%eax
44bc3a:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44bc41:	00
44bc42:	0f b6 0c c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%ecx
44bc49:	00
44bc4a:	8b 46 7c             	mov    0x7c(%esi),%eax
44bc4d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44bc50:	3b f8                	cmp    %eax,%edi
44bc52:	0f 83 a7 00 00 00    	jae    0x44bcff
44bc58:	8b 5d dc             	mov    -0x24(%ebp),%ebx
44bc5b:	8b f1                	mov    %ecx,%esi
44bc5d:	0f b7 0f             	movzwl (%edi),%ecx
44bc60:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44bc67:	85 db                	test   %ebx,%ebx
44bc69:	74 2f                	je     0x44bc9a
44bc6b:	8b c1                	mov    %ecx,%eax
44bc6d:	25 00 fc 00 00       	and    $0xfc00,%eax
44bc72:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44bc77:	75 21                	jne    0x44bc9a
44bc79:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44bc7d:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44bc83:	25 ff 03 00 00       	and    $0x3ff,%eax
44bc88:	c1 e1 0a             	shl    $0xa,%ecx
44bc8b:	0b c8                	or     %eax,%ecx
44bc8d:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
44bc94:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44bc9a:	8b c1                	mov    %ecx,%eax
44bc9c:	99                   	cltd
44bc9d:	83 e2 7f             	and    $0x7f,%edx
44bca0:	03 c2                	add    %edx,%eax
44bca2:	c1 f8 07             	sar    $0x7,%eax
44bca5:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44bcac:	c1 e0 07             	shl    $0x7,%eax
44bcaf:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44bcb5:	79 05                	jns    0x44bcbc
44bcb7:	49                   	dec    %ecx
44bcb8:	83 c9 80             	or     $0xffffff80,%ecx
44bcbb:	41                   	inc    %ecx
44bcbc:	03 c1                	add    %ecx,%eax
44bcbe:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44bcc5:	00
44bcc6:	0f b6 0c c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%ecx
44bccd:	00
44bcce:	b8 01 00 00 00       	mov    $0x1,%eax
44bcd3:	d3 e0                	shl    %cl,%eax
44bcd5:	85 04 b5 00 58 4a 00 	test   %eax,0x4a5800(,%esi,4)
44bcdc:	74 15                	je     0x44bcf3
44bcde:	8b 45 ec             	mov    -0x14(%ebp),%eax
44bce1:	8b f1                	mov    %ecx,%esi
44bce3:	8d 3c 47             	lea    (%edi,%eax,2),%edi
44bce6:	8b 45 d8             	mov    -0x28(%ebp),%eax
44bce9:	3b f8                	cmp    %eax,%edi
44bceb:	0f 82 6c ff ff ff    	jb     0x44bc5d
44bcf1:	eb 03                	jmp    0x44bcf6
44bcf3:	8b 45 d8             	mov    -0x28(%ebp),%eax
44bcf6:	8b 75 10             	mov    0x10(%ebp),%esi
44bcf9:	8b 5d d0             	mov    -0x30(%ebp),%ebx
44bcfc:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bcff:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44bd06:	74 20                	je     0x44bd28
44bd08:	3b f8                	cmp    %eax,%edi
44bd0a:	72 1c                	jb     0x44bd28
44bd0c:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44bd12:	76 14                	jbe    0x44bd28
44bd14:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44bd1b:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44bd22:	0f 8f 98 d3 ff ff    	jg     0x4490c0
44bd28:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44bd2b:	8b 55 f4             	mov    -0xc(%ebp),%edx
44bd2e:	41                   	inc    %ecx
44bd2f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
44bd32:	3b ca                	cmp    %edx,%ecx
44bd34:	0f 8e 92 fe ff ff    	jle    0x44bbcc
44bd3a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44bd3d:	e9 66 fe ff ff       	jmp    0x44bba8
44bd42:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44bd46:	8d 4f fa             	lea    -0x6(%edi),%ecx
44bd49:	0f 84 20 07 00 00    	je     0x44c46f
44bd4f:	83 f9 0f             	cmp    $0xf,%ecx
44bd52:	0f 87 a6 27 00 00    	ja     0x44e4fe
44bd58:	ff 24 8d 77 02 45 00 	jmp    *0x450277(,%ecx,4)
44bd5f:	8b 7d f8             	mov    -0x8(%ebp),%edi
44bd62:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44bd69:	83 fa 01             	cmp    $0x1,%edx
44bd6c:	0f 8c 36 fe ff ff    	jl     0x44bba8
44bd72:	8d 47 02             	lea    0x2(%edi),%eax
44bd75:	89 45 e0             	mov    %eax,-0x20(%ebp)
44bd78:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44bd7b:	3b f9                	cmp    %ecx,%edi
44bd7d:	0f 83 e3 2a 00 00    	jae    0x44e866
44bd83:	8b 56 18             	mov    0x18(%esi),%edx
44bd86:	85 d2                	test   %edx,%edx
44bd88:	0f 84 9b 00 00 00    	je     0x44be29
44bd8e:	ff 75 dc             	push   -0x24(%ebp)
44bd91:	8d 46 1c             	lea    0x1c(%esi),%eax
44bd94:	50                   	push   %eax
44bd95:	51                   	push   %ecx
44bd96:	8b cf                	mov    %edi,%ecx
44bd98:	e8 02 a1 fc ff       	call   0x415e9f
44bd9d:	83 c4 0c             	add    $0xc,%esp
44bda0:	85 c0                	test   %eax,%eax
44bda2:	0f 85 b6 92 fc ff    	jne    0x41505e
44bda8:	8b 55 e0             	mov    -0x20(%ebp),%edx
44bdab:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44bdb2:	74 2e                	je     0x44bde2
44bdb4:	3b 56 7c             	cmp    0x7c(%esi),%edx
44bdb7:	72 29                	jb     0x44bde2
44bdb9:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
44bdbd:	75 23                	jne    0x44bde2
44bdbf:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
44bdc3:	75 1d                	jne    0x44bde2
44bdc5:	66 8b 07             	mov    (%edi),%ax
44bdc8:	66 3b 46 34          	cmp    0x34(%esi),%ax
44bdcc:	75 14                	jne    0x44bde2
44bdce:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44bdd5:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44bddc:	0f 8f de d2 ff ff    	jg     0x4490c0
44bde2:	83 c7 02             	add    $0x2,%edi
44bde5:	83 c2 02             	add    $0x2,%edx
44bde8:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bdeb:	89 55 e0             	mov    %edx,-0x20(%ebp)
44bdee:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44bdf1:	73 21                	jae    0x44be14
44bdf3:	66 8b 07             	mov    (%edi),%ax
44bdf6:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44bdfb:	66 23 c1             	and    %cx,%ax
44bdfe:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44be03:	66 3b c1             	cmp    %cx,%ax
44be06:	75 0c                	jne    0x44be14
44be08:	83 c7 02             	add    $0x2,%edi
44be0b:	83 c2 02             	add    $0x2,%edx
44be0e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44be11:	89 55 e0             	mov    %edx,-0x20(%ebp)
44be14:	8b 55 ec             	mov    -0x14(%ebp),%edx
44be17:	42                   	inc    %edx
44be18:	89 55 ec             	mov    %edx,-0x14(%ebp)
44be1b:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44be1e:	0f 8e 54 ff ff ff    	jle    0x44bd78
44be24:	e9 79 fd ff ff       	jmp    0x44bba2
44be29:	8b 56 1c             	mov    0x1c(%esi),%edx
44be2c:	8d 04 12             	lea    (%edx,%edx,1),%eax
44be2f:	2b c8                	sub    %eax,%ecx
44be31:	3b f9                	cmp    %ecx,%edi
44be33:	0f 87 6f ff ff ff    	ja     0x44bda8
44be39:	66 8b 07             	mov    (%edi),%ax
44be3c:	66 3b 46 34          	cmp    0x34(%esi),%ax
44be40:	0f 85 62 ff ff ff    	jne    0x44bda8
44be46:	83 fa 01             	cmp    $0x1,%edx
44be49:	0f 84 0f 92 fc ff    	je     0x41505e
44be4f:	8b 55 e0             	mov    -0x20(%ebp),%edx
44be52:	66 8b 02             	mov    (%edx),%ax
44be55:	66 3b 46 36          	cmp    0x36(%esi),%ax
44be59:	0f 84 ff 91 fc ff    	je     0x41505e
44be5f:	e9 47 ff ff ff       	jmp    0x44bdab
44be64:	8b 7d f8             	mov    -0x8(%ebp),%edi
44be67:	ba 01 00 00 00       	mov    $0x1,%edx
44be6c:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44be6f:	0f 8c 30 fd ff ff    	jl     0x44bba5
44be75:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44be78:	8b 45 f4             	mov    -0xc(%ebp),%eax
44be7b:	3b f9                	cmp    %ecx,%edi
44be7d:	0f 83 e3 29 00 00    	jae    0x44e866
44be83:	83 c7 02             	add    $0x2,%edi
44be86:	89 7d f8             	mov    %edi,-0x8(%ebp)
44be89:	3b f9                	cmp    %ecx,%edi
44be8b:	73 24                	jae    0x44beb1
44be8d:	66 8b 07             	mov    (%edi),%ax
44be90:	c7 45 ec 00 fc 00 00 	movl   $0xfc00,-0x14(%ebp)
44be97:	66 23 45 ec          	and    -0x14(%ebp),%ax
44be9b:	c7 45 ec 00 dc 00 00 	movl   $0xdc00,-0x14(%ebp)
44bea2:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
44bea6:	8b 45 f4             	mov    -0xc(%ebp),%eax
44bea9:	75 06                	jne    0x44beb1
44beab:	83 c7 02             	add    $0x2,%edi
44beae:	89 7d f8             	mov    %edi,-0x8(%ebp)
44beb1:	42                   	inc    %edx
44beb2:	3b d0                	cmp    %eax,%edx
44beb4:	7e c5                	jle    0x44be7b
44beb6:	e9 e7 fc ff ff       	jmp    0x44bba2
44bebb:	8b 46 7c             	mov    0x7c(%esi),%eax
44bebe:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
44bec1:	8b 7d f8             	mov    -0x8(%ebp),%edi
44bec4:	2b c1                	sub    %ecx,%eax
44bec6:	3b f8                	cmp    %eax,%edi
44bec8:	0f 87 90 91 fc ff    	ja     0x41505e
44bece:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44bed1:	03 f9                	add    %ecx,%edi
44bed3:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bed6:	e9 cd fc ff ff       	jmp    0x44bba8
44bedb:	8b 7d f8             	mov    -0x8(%ebp),%edi
44bede:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44bee5:	83 fa 01             	cmp    $0x1,%edx
44bee8:	0f 8c ba fc ff ff    	jl     0x44bba8
44beee:	8b 56 7c             	mov    0x7c(%esi),%edx
44bef1:	3b fa                	cmp    %edx,%edi
44bef3:	0f 83 6d 29 00 00    	jae    0x44e866
44bef9:	0f b7 0f             	movzwl (%edi),%ecx
44befc:	83 c7 02             	add    $0x2,%edi
44beff:	8b c1                	mov    %ecx,%eax
44bf01:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bf04:	25 00 fc 00 00       	and    $0xfc00,%eax
44bf09:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44bf0e:	75 1f                	jne    0x44bf2f
44bf10:	0f b7 07             	movzwl (%edi),%eax
44bf13:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44bf19:	c1 e1 0a             	shl    $0xa,%ecx
44bf1c:	25 ff 03 00 00       	and    $0x3ff,%eax
44bf21:	0b c8                	or     %eax,%ecx
44bf23:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44bf29:	83 c7 02             	add    $0x2,%edi
44bf2c:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bf2f:	83 f9 0d             	cmp    $0xd,%ecx
44bf32:	77 27                	ja     0x44bf5b
44bf34:	74 13                	je     0x44bf49
44bf36:	83 f9 0a             	cmp    $0xa,%ecx
44bf39:	74 41                	je     0x44bf7c
44bf3b:	8d 41 f5             	lea    -0xb(%ecx),%eax
44bf3e:	83 f8 01             	cmp    $0x1,%eax
44bf41:	0f 87 17 91 fc ff    	ja     0x41505e
44bf47:	eb 29                	jmp    0x44bf72
44bf49:	3b fa                	cmp    %edx,%edi
44bf4b:	73 2f                	jae    0x44bf7c
44bf4d:	66 83 3f 0a          	cmpw   $0xa,(%edi)
44bf51:	75 29                	jne    0x44bf7c
44bf53:	83 c7 02             	add    $0x2,%edi
44bf56:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bf59:	eb 21                	jmp    0x44bf7c
44bf5b:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44bf61:	74 0f                	je     0x44bf72
44bf63:	8d 81 d8 df ff ff    	lea    -0x2028(%ecx),%eax
44bf69:	83 f8 01             	cmp    $0x1,%eax
44bf6c:	0f 87 ec 90 fc ff    	ja     0x41505e
44bf72:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
44bf76:	0f 85 e2 90 fc ff    	jne    0x41505e
44bf7c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44bf7f:	41                   	inc    %ecx
44bf80:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44bf83:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
44bf86:	0f 8e 65 ff ff ff    	jle    0x44bef1
44bf8c:	e9 11 fc ff ff       	jmp    0x44bba2
44bf91:	8b 7d f8             	mov    -0x8(%ebp),%edi
44bf94:	ba 01 00 00 00       	mov    $0x1,%edx
44bf99:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44bf9c:	0f 8c 03 fc ff ff    	jl     0x44bba5
44bfa2:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44bfa5:	0f 83 bb 28 00 00    	jae    0x44e866
44bfab:	0f b7 0f             	movzwl (%edi),%ecx
44bfae:	83 c7 02             	add    $0x2,%edi
44bfb1:	8b c1                	mov    %ecx,%eax
44bfb3:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bfb6:	25 00 fc 00 00       	and    $0xfc00,%eax
44bfbb:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44bfc0:	75 1f                	jne    0x44bfe1
44bfc2:	0f b7 07             	movzwl (%edi),%eax
44bfc5:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44bfcb:	c1 e1 0a             	shl    $0xa,%ecx
44bfce:	25 ff 03 00 00       	and    $0x3ff,%eax
44bfd3:	0b c8                	or     %eax,%ecx
44bfd5:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44bfdb:	83 c7 02             	add    $0x2,%edi
44bfde:	89 7d f8             	mov    %edi,-0x8(%ebp)
44bfe1:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44bfe7:	77 36                	ja     0x44c01f
44bfe9:	0f 84 6f 90 fc ff    	je     0x41505e
44bfef:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44bff5:	77 1a                	ja     0x44c011
44bff7:	0f 84 61 90 fc ff    	je     0x41505e
44bffd:	83 f9 09             	cmp    $0x9,%ecx
44c000:	0f 84 58 90 fc ff    	je     0x41505e
44c006:	83 f9 20             	cmp    $0x20,%ecx
44c009:	0f 84 4f 90 fc ff    	je     0x41505e
44c00f:	eb 4a                	jmp    0x44c05b
44c011:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44c017:	0f 84 41 90 fc ff    	je     0x41505e
44c01d:	eb 3c                	jmp    0x44c05b
44c01f:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44c025:	77 28                	ja     0x44c04f
44c027:	0f 84 31 90 fc ff    	je     0x41505e
44c02d:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
44c033:	72 26                	jb     0x44c05b