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
44c035:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
44c03b:	0f 86 1d 90 fc ff    	jbe    0x41505e
44c041:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44c047:	0f 84 11 90 fc ff    	je     0x41505e
44c04d:	eb 0c                	jmp    0x44c05b
44c04f:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44c055:	0f 84 03 90 fc ff    	je     0x41505e
44c05b:	42                   	inc    %edx
44c05c:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44c05f:	0f 8e 3d ff ff ff    	jle    0x44bfa2
44c065:	e9 38 fb ff ff       	jmp    0x44bba2
44c06a:	8b 7d f8             	mov    -0x8(%ebp),%edi
44c06d:	ba 01 00 00 00       	mov    $0x1,%edx
44c072:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44c075:	0f 8c 2a fb ff ff    	jl     0x44bba5
44c07b:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44c07e:	0f 83 e2 27 00 00    	jae    0x44e866
44c084:	0f b7 0f             	movzwl (%edi),%ecx
44c087:	83 c7 02             	add    $0x2,%edi
44c08a:	8b c1                	mov    %ecx,%eax
44c08c:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c08f:	25 00 fc 00 00       	and    $0xfc00,%eax
44c094:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44c099:	75 1f                	jne    0x44c0ba
44c09b:	0f b7 07             	movzwl (%edi),%eax
44c09e:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44c0a4:	c1 e1 0a             	shl    $0xa,%ecx
44c0a7:	25 ff 03 00 00       	and    $0x3ff,%eax
44c0ac:	0b c8                	or     %eax,%ecx
44c0ae:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44c0b4:	83 c7 02             	add    $0x2,%edi
44c0b7:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c0ba:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44c0c0:	77 2a                	ja     0x44c0ec
44c0c2:	74 60                	je     0x44c124
44c0c4:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44c0ca:	77 12                	ja     0x44c0de
44c0cc:	74 56                	je     0x44c124
44c0ce:	83 f9 09             	cmp    $0x9,%ecx
44c0d1:	74 51                	je     0x44c124
44c0d3:	83 f9 20             	cmp    $0x20,%ecx
44c0d6:	0f 85 82 8f fc ff    	jne    0x41505e
44c0dc:	eb 46                	jmp    0x44c124
44c0de:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44c0e4:	0f 85 74 8f fc ff    	jne    0x41505e
44c0ea:	eb 38                	jmp    0x44c124
44c0ec:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44c0f2:	77 24                	ja     0x44c118
44c0f4:	74 2e                	je     0x44c124
44c0f6:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
44c0fc:	0f 82 5c 8f fc ff    	jb     0x41505e
44c102:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
44c108:	76 1a                	jbe    0x44c124
44c10a:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44c110:	0f 85 48 8f fc ff    	jne    0x41505e
44c116:	eb 0c                	jmp    0x44c124
44c118:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44c11e:	0f 85 3a 8f fc ff    	jne    0x41505e
44c124:	42                   	inc    %edx
44c125:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44c128:	0f 8e 4d ff ff ff    	jle    0x44c07b
44c12e:	e9 6f fa ff ff       	jmp    0x44bba2
44c133:	8b 7d f8             	mov    -0x8(%ebp),%edi
44c136:	ba 01 00 00 00       	mov    $0x1,%edx
44c13b:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44c13e:	0f 8c 61 fa ff ff    	jl     0x44bba5
44c144:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44c147:	0f 83 19 27 00 00    	jae    0x44e866
44c14d:	0f b7 0f             	movzwl (%edi),%ecx
44c150:	83 c7 02             	add    $0x2,%edi
44c153:	8b c1                	mov    %ecx,%eax
44c155:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c158:	25 00 fc 00 00       	and    $0xfc00,%eax
44c15d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44c162:	75 1f                	jne    0x44c183
44c164:	0f b7 07             	movzwl (%edi),%eax
44c167:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44c16d:	c1 e1 0a             	shl    $0xa,%ecx
44c170:	25 ff 03 00 00       	and    $0x3ff,%eax
44c175:	0b c8                	or     %eax,%ecx
44c177:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44c17d:	83 c7 02             	add    $0x2,%edi
44c180:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c183:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44c189:	77 16                	ja     0x44c1a1
44c18b:	0f 84 cd 8e fc ff    	je     0x41505e
44c191:	83 f9 0a             	cmp    $0xa,%ecx
44c194:	72 1f                	jb     0x44c1b5
44c196:	83 f9 0d             	cmp    $0xd,%ecx
44c199:	0f 86 bf 8e fc ff    	jbe    0x41505e
44c19f:	eb 14                	jmp    0x44c1b5
44c1a1:	81 f9 28 20 00 00    	cmp    $0x2028,%ecx
44c1a7:	72 0c                	jb     0x44c1b5
44c1a9:	81 f9 29 20 00 00    	cmp    $0x2029,%ecx
44c1af:	0f 86 a9 8e fc ff    	jbe    0x41505e
44c1b5:	42                   	inc    %edx
44c1b6:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44c1b9:	7e 89                	jle    0x44c144
44c1bb:	e9 e2 f9 ff ff       	jmp    0x44bba2
44c1c0:	8b 7d f8             	mov    -0x8(%ebp),%edi
44c1c3:	ba 01 00 00 00       	mov    $0x1,%edx
44c1c8:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44c1cb:	0f 8c d4 f9 ff ff    	jl     0x44bba5
44c1d1:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44c1d4:	0f 83 8c 26 00 00    	jae    0x44e866
44c1da:	0f b7 0f             	movzwl (%edi),%ecx
44c1dd:	83 c7 02             	add    $0x2,%edi
44c1e0:	8b c1                	mov    %ecx,%eax
44c1e2:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c1e5:	25 00 fc 00 00       	and    $0xfc00,%eax
44c1ea:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44c1ef:	75 1f                	jne    0x44c210
44c1f1:	0f b7 07             	movzwl (%edi),%eax
44c1f4:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44c1fa:	c1 e1 0a             	shl    $0xa,%ecx
44c1fd:	25 ff 03 00 00       	and    $0x3ff,%eax
44c202:	0b c8                	or     %eax,%ecx
44c204:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44c20a:	83 c7 02             	add    $0x2,%edi
44c20d:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c210:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44c216:	77 10                	ja     0x44c228
44c218:	74 1d                	je     0x44c237
44c21a:	8d 41 f6             	lea    -0xa(%ecx),%eax
44c21d:	83 f8 03             	cmp    $0x3,%eax
44c220:	0f 87 38 8e fc ff    	ja     0x41505e
44c226:	eb 0f                	jmp    0x44c237
44c228:	8d 81 d8 df ff ff    	lea    -0x2028(%ecx),%eax
44c22e:	83 f8 01             	cmp    $0x1,%eax
44c231:	0f 87 27 8e fc ff    	ja     0x41505e
44c237:	42                   	inc    %edx
44c238:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44c23b:	7e 94                	jle    0x44c1d1
44c23d:	e9 60 f9 ff ff       	jmp    0x44bba2
44c242:	8b 7d f8             	mov    -0x8(%ebp),%edi
44c245:	ba 01 00 00 00       	mov    $0x1,%edx
44c24a:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44c24d:	0f 8c 52 f9 ff ff    	jl     0x44bba5
44c253:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44c256:	0f 83 0a 26 00 00    	jae    0x44e866
44c25c:	0f b7 0f             	movzwl (%edi),%ecx
44c25f:	83 c7 02             	add    $0x2,%edi
44c262:	8b c1                	mov    %ecx,%eax
44c264:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c267:	25 00 fc 00 00       	and    $0xfc00,%eax
44c26c:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44c271:	75 1f                	jne    0x44c292
44c273:	0f b7 07             	movzwl (%edi),%eax
44c276:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44c27c:	c1 e1 0a             	shl    $0xa,%ecx
44c27f:	25 ff 03 00 00       	and    $0x3ff,%eax
44c284:	0b c8                	or     %eax,%ecx
44c286:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44c28c:	83 c7 02             	add    $0x2,%edi
44c28f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44c292:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
44c298:	73 0d                	jae    0x44c2a7
44c29a:	8b 46 44             	mov    0x44(%esi),%eax
44c29d:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44c2a1:	0f 85 b7 8d fc ff    	jne    0x41505e
44c2a7:	42                   	inc    %edx
44c2a8:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44c2ab:	7e a6                	jle    0x44c253
44c2ad:	e9 f0 f8 ff ff       	jmp    0x44bba2
44c2b2:	8b 7d f8             	mov    -0x8(%ebp),%edi
44c2b5:	ba 01 00 00 00       	mov    $0x1,%edx
44c2ba:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44c2bd:	0f 8c e2 f8 ff ff    	jl     0x44bba5
44c2c3:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44c2c6:	0f 83 9a 25 00 00    	jae    0x44e866
44c2cc:	0f b7 0f             	movzwl (%edi),%ecx
44c2cf:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
44c2d5:	0f 83 83 8d fc ff    	jae    0x41505e
44c2db:	8b 46 44             	mov    0x44(%esi),%eax
44c2de:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)