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)
44f079:	e8 42 59 fc ff       	call   0x4149c0
44f07e:	83 c4 14             	add    $0x14,%esp
44f081:	85 c0                	test   %eax,%eax
44f083:	0f 84 4a ff ff ff    	je     0x44efd3
44f089:	e9 af 5a fc ff       	jmp    0x414b3d
44f08e:	8b 45 18             	mov    0x18(%ebp),%eax
44f091:	8b d3                	mov    %ebx,%edx
44f093:	40                   	inc    %eax
44f094:	8b cf                	mov    %edi,%ecx
44f096:	50                   	push   %eax
44f097:	ff 75 14             	push   0x14(%ebp)
44f09a:	56                   	push   %esi
44f09b:	ff 75 0c             	push   0xc(%ebp)
44f09e:	ff 75 08             	push   0x8(%ebp)
44f0a1:	e8 1a 59 fc ff       	call   0x4149c0
44f0a6:	83 c4 14             	add    $0x14,%esp
44f0a9:	85 c0                	test   %eax,%eax
44f0ab:	0f 85 8c 5a fc ff    	jne    0x414b3d
44f0b1:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f0b4:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44f0b7:	0f 8d a1 5f fc ff    	jge    0x41505e
44f0bd:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44f0c0:	0f 83 a0 f7 ff ff    	jae    0x44e866
44f0c6:	0f b7 0f             	movzwl (%edi),%ecx
44f0c9:	83 c7 02             	add    $0x2,%edi
44f0cc:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44f0d0:	74 2a                	je     0x44f0fc
44f0d2:	8b c1                	mov    %ecx,%eax
44f0d4:	25 00 fc 00 00       	and    $0xfc00,%eax
44f0d9:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44f0de:	75 1c                	jne    0x44f0fc
44f0e0:	0f b7 07             	movzwl (%edi),%eax
44f0e3:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f0e9:	c1 e1 0a             	shl    $0xa,%ecx
44f0ec:	25 ff 03 00 00       	and    $0x3ff,%eax
44f0f1:	0b c8                	or     %eax,%ecx
44f0f3:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f0f9:	83 c7 02             	add    $0x2,%edi
44f0fc:	8b c1                	mov    %ecx,%eax
44f0fe:	99                   	cltd
44f0ff:	83 e2 7f             	and    $0x7f,%edx
44f102:	03 c2                	add    %edx,%eax
44f104:	c1 f8 07             	sar    $0x7,%eax
44f107:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44f10e:	c1 e0 07             	shl    $0x7,%eax
44f111:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44f117:	79 05                	jns    0x44f11e
44f119:	49                   	dec    %ecx
44f11a:	83 c9 80             	or     $0xffffff80,%ecx
44f11d:	41                   	inc    %ecx
44f11e:	03 c1                	add    %ecx,%eax
44f120:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44f127:	00
44f128:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44f12f:	00
44f130:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
44f137:	83 f8 01             	cmp    $0x1,%eax
44f13a:	74 09                	je     0x44f145
44f13c:	83 f8 03             	cmp    $0x3,%eax
44f13f:	74 04                	je     0x44f145
44f141:	33 c0                	xor    %eax,%eax
44f143:	eb 05                	jmp    0x44f14a
44f145:	b8 01 00 00 00       	mov    $0x1,%eax
44f14a:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44f14d:	0f 84 0b 5f fc ff    	je     0x41505e
44f153:	8b 45 18             	mov    0x18(%ebp),%eax
44f156:	8b d3                	mov    %ebx,%edx
44f158:	ff 45 f4             	incl   -0xc(%ebp)
44f15b:	40                   	inc    %eax
44f15c:	50                   	push   %eax
44f15d:	ff 75 14             	push   0x14(%ebp)
44f160:	8b cf                	mov    %edi,%ecx
44f162:	56                   	push   %esi
44f163:	ff 75 0c             	push   0xc(%ebp)
44f166:	ff 75 08             	push   0x8(%ebp)
44f169:	e8 52 58 fc ff       	call   0x4149c0
44f16e:	83 c4 14             	add    $0x14,%esp
44f171:	85 c0                	test   %eax,%eax
44f173:	0f 84 38 ff ff ff    	je     0x44f0b1
44f179:	e9 bf 59 fc ff       	jmp    0x414b3d
44f17e:	8b 45 18             	mov    0x18(%ebp),%eax
44f181:	8b d3                	mov    %ebx,%edx
44f183:	40                   	inc    %eax
44f184:	8b cf                	mov    %edi,%ecx
44f186:	50                   	push   %eax
44f187:	ff 75 14             	push   0x14(%ebp)
44f18a:	56                   	push   %esi
44f18b:	ff 75 0c             	push   0xc(%ebp)
44f18e:	ff 75 08             	push   0x8(%ebp)
44f191:	e8 2a 58 fc ff       	call   0x4149c0
44f196:	83 c4 14             	add    $0x14,%esp
44f199:	85 c0                	test   %eax,%eax
44f19b:	0f 85 9c 59 fc ff    	jne    0x414b3d
44f1a1:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f1a4:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44f1a7:	0f 8d b1 5e fc ff    	jge    0x41505e
44f1ad:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44f1b0:	0f 83 b0 f6 ff ff    	jae    0x44e866
44f1b6:	0f b7 0f             	movzwl (%edi),%ecx
44f1b9:	83 c7 02             	add    $0x2,%edi
44f1bc:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44f1c0:	74 2d                	je     0x44f1ef
44f1c2:	8b c1                	mov    %ecx,%eax
44f1c4:	25 00 fc 00 00       	and    $0xfc00,%eax
44f1c9:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44f1ce:	75 1c                	jne    0x44f1ec
44f1d0:	0f b7 07             	movzwl (%edi),%eax
44f1d3:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f1d9:	c1 e1 0a             	shl    $0xa,%ecx
44f1dc:	25 ff 03 00 00       	and    $0x3ff,%eax
44f1e1:	0b c8                	or     %eax,%ecx
44f1e3:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f1e9:	83 c7 02             	add    $0x2,%edi
44f1ec:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f1ef:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44f1f5:	77 45                	ja     0x44f23c
44f1f7:	0f 84 c4 00 00 00    	je     0x44f2c1
44f1fd:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44f203:	77 1e                	ja     0x44f223
44f205:	0f 84 b6 00 00 00    	je     0x44f2c1
44f20b:	83 f9 09             	cmp    $0x9,%ecx
44f20e:	72 5f                	jb     0x44f26f
44f210:	83 f9 0d             	cmp    $0xd,%ecx
44f213:	0f 86 a8 00 00 00    	jbe    0x44f2c1
44f219:	83 f9 20             	cmp    $0x20,%ecx
44f21c:	75 51                	jne    0x44f26f
44f21e:	e9 9e 00 00 00       	jmp    0x44f2c1
44f223:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44f229:	0f 84 92 00 00 00    	je     0x44f2c1
44f22f:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44f235:	75 38                	jne    0x44f26f
44f237:	e9 85 00 00 00       	jmp    0x44f2c1
44f23c:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44f242:	77 1b                	ja     0x44f25f
44f244:	74 7b                	je     0x44f2c1
44f246:	8d 81 00 e0 ff ff    	lea    -0x2000(%ecx),%eax
44f24c:	83 f8 29             	cmp    $0x29,%eax
44f24f:	77 1e                	ja     0x44f26f
44f251:	0f b6 80 0b 04 45 00 	movzbl 0x45040b(%eax),%eax
44f258:	ff 24 85 03 04 45 00 	jmp    *0x450403(,%eax,4)
44f25f:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44f265:	74 5a                	je     0x44f2c1
44f267:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44f26d:	74 52                	je     0x44f2c1
44f26f:	8b c1                	mov    %ecx,%eax
44f271:	99                   	cltd
44f272:	83 e2 7f             	and    $0x7f,%edx
44f275:	03 c2                	add    %edx,%eax
44f277:	c1 f8 07             	sar    $0x7,%eax
44f27a:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44f281:	c1 e0 07             	shl    $0x7,%eax
44f284:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44f28a:	79 05                	jns    0x44f291
44f28c:	49                   	dec    %ecx
44f28d:	83 c9 80             	or     $0xffffff80,%ecx
44f290:	41                   	inc    %ecx
44f291:	03 c1                	add    %ecx,%eax
44f293:	33 c9                	xor    %ecx,%ecx
44f295:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44f29c:	00
44f29d:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44f2a4:	00
44f2a5:	83 3c 85 a0 89 4b 00 	cmpl   $0x6,0x4b89a0(,%eax,4)
44f2ac:	06
44f2ad:	0f 94 c1             	sete   %cl
44f2b0:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44f2b3:	0f 84 a5 5d fc ff    	je     0x41505e
44f2b9:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f2bc:	eb 0d                	jmp    0x44f2cb
44f2be:	8b 45 f4             	mov    -0xc(%ebp),%eax
44f2c1:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
44f2c5:	0f 85 93 5d fc ff    	jne    0x41505e
44f2cb:	40                   	inc    %eax
44f2cc:	8b d3                	mov    %ebx,%edx
44f2ce:	89 45 f4             	mov    %eax,-0xc(%ebp)