44de74:	83 c7 02             	add    $0x2,%edi
44de77:	42                   	inc    %edx
44de78:	89 7d f8             	mov    %edi,-0x8(%ebp)
44de7b:	3b d1                	cmp    %ecx,%edx
44de7d:	7c bb                	jl     0x44de3a
44de7f:	e9 dc 01 00 00       	jmp    0x44e060
44de84:	8b 4d e8             	mov    -0x18(%ebp),%ecx
44de87:	3b d1                	cmp    %ecx,%edx
44de89:	0f 8d d1 01 00 00    	jge    0x44e060
44de8f:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44de92:	0f 83 c9 fd ff ff    	jae    0x44dc61
44de98:	0f b7 07             	movzwl (%edi),%eax
44de9b:	3d 85 00 00 00       	cmp    $0x85,%eax
44dea0:	7f 0f                	jg     0x44deb1
44dea2:	74 1b                	je     0x44debf
44dea4:	83 c0 f6             	add    $0xfffffff6,%eax
44dea7:	83 f8 03             	cmp    $0x3,%eax
44deaa:	76 13                	jbe    0x44debf
44deac:	e9 af 01 00 00       	jmp    0x44e060
44deb1:	05 d8 df ff ff       	add    $0xffffdfd8,%eax
44deb6:	83 f8 01             	cmp    $0x1,%eax
44deb9:	0f 87 a1 01 00 00    	ja     0x44e060
44debf:	83 c7 02             	add    $0x2,%edi
44dec2:	42                   	inc    %edx
44dec3:	89 7d f8             	mov    %edi,-0x8(%ebp)
44dec6:	3b d1                	cmp    %ecx,%edx
44dec8:	7c c5                	jl     0x44de8f
44deca:	e9 91 01 00 00       	jmp    0x44e060
44decf:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44ded2:	0f 8d 88 01 00 00    	jge    0x44e060
44ded8:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44dedb:	0f 83 80 fd ff ff    	jae    0x44dc61
44dee1:	0f b7 07             	movzwl (%edi),%eax
44dee4:	b9 ff 00 00 00       	mov    $0xff,%ecx
44dee9:	66 3b c1             	cmp    %cx,%ax
44deec:	77 0f                	ja     0x44defd
44deee:	8b c8                	mov    %eax,%ecx
44def0:	8b 46 44             	mov    0x44(%esi),%eax
44def3:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44def7:	0f 85 63 01 00 00    	jne    0x44e060
44defd:	83 c7 02             	add    $0x2,%edi
44df00:	42                   	inc    %edx
44df01:	89 7d f8             	mov    %edi,-0x8(%ebp)
44df04:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44df07:	7c cf                	jl     0x44ded8
44df09:	e9 52 01 00 00       	jmp    0x44e060
44df0e:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44df11:	0f 8d 49 01 00 00    	jge    0x44e060
44df17:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44df1a:	0f 83 41 fd ff ff    	jae    0x44dc61
44df20:	0f b7 07             	movzwl (%edi),%eax
44df23:	b9 ff 00 00 00       	mov    $0xff,%ecx
44df28:	66 3b c1             	cmp    %cx,%ax
44df2b:	0f 87 2f 01 00 00    	ja     0x44e060
44df31:	8b c8                	mov    %eax,%ecx
44df33:	8b 46 44             	mov    0x44(%esi),%eax
44df36:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44df3a:	0f 84 20 01 00 00    	je     0x44e060
44df40:	83 c7 02             	add    $0x2,%edi
44df43:	42                   	inc    %edx
44df44:	89 7d f8             	mov    %edi,-0x8(%ebp)
44df47:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44df4a:	7c cb                	jl     0x44df17
44df4c:	e9 0f 01 00 00       	jmp    0x44e060
44df51:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44df54:	0f 8d 06 01 00 00    	jge    0x44e060
44df5a:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44df5d:	0f 83 fe fc ff ff    	jae    0x44dc61
44df63:	0f b7 07             	movzwl (%edi),%eax
44df66:	b9 ff 00 00 00       	mov    $0xff,%ecx
44df6b:	66 3b c1             	cmp    %cx,%ax
44df6e:	77 0f                	ja     0x44df7f
44df70:	8b c8                	mov    %eax,%ecx
44df72:	8b 46 44             	mov    0x44(%esi),%eax
44df75:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
44df79:	0f 85 e1 00 00 00    	jne    0x44e060
44df7f:	83 c7 02             	add    $0x2,%edi
44df82:	42                   	inc    %edx
44df83:	89 7d f8             	mov    %edi,-0x8(%ebp)
44df86:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44df89:	7c cf                	jl     0x44df5a
44df8b:	e9 d0 00 00 00       	jmp    0x44e060
44df90:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44df93:	0f 8d c7 00 00 00    	jge    0x44e060
44df99:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44df9c:	0f 83 bf fc ff ff    	jae    0x44dc61
44dfa2:	0f b7 07             	movzwl (%edi),%eax
44dfa5:	b9 ff 00 00 00       	mov    $0xff,%ecx
44dfaa:	66 3b c1             	cmp    %cx,%ax
44dfad:	0f 87 ad 00 00 00    	ja     0x44e060
44dfb3:	8b c8                	mov    %eax,%ecx
44dfb5:	8b 46 44             	mov    0x44(%esi),%eax
44dfb8:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
44dfbc:	0f 84 9e 00 00 00    	je     0x44e060
44dfc2:	83 c7 02             	add    $0x2,%edi
44dfc5:	42                   	inc    %edx
44dfc6:	89 7d f8             	mov    %edi,-0x8(%ebp)
44dfc9:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44dfcc:	7c cb                	jl     0x44df99
44dfce:	e9 8d 00 00 00       	jmp    0x44e060
44dfd3:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44dfd6:	0f 8d 84 00 00 00    	jge    0x44e060
44dfdc:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44dfdf:	0f 83 7c fc ff ff    	jae    0x44dc61
44dfe5:	0f b7 07             	movzwl (%edi),%eax
44dfe8:	b9 ff 00 00 00       	mov    $0xff,%ecx
44dfed:	66 3b c1             	cmp    %cx,%ax
44dff0:	77 0b                	ja     0x44dffd
44dff2:	8b c8                	mov    %eax,%ecx
44dff4:	8b 46 44             	mov    0x44(%esi),%eax
44dff7:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44dffb:	75 63                	jne    0x44e060
44dffd:	83 c7 02             	add    $0x2,%edi
44e000:	42                   	inc    %edx
44e001:	89 7d f8             	mov    %edi,-0x8(%ebp)
44e004:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44e007:	7c d3                	jl     0x44dfdc
44e009:	eb 55                	jmp    0x44e060
44e00b:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44e00e:	7d 50                	jge    0x44e060
44e010:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44e013:	73 26                	jae    0x44e03b
44e015:	0f b7 07             	movzwl (%edi),%eax
44e018:	b9 ff 00 00 00       	mov    $0xff,%ecx
44e01d:	66 3b c1             	cmp    %cx,%ax
44e020:	77 3e                	ja     0x44e060
44e022:	8b c8                	mov    %eax,%ecx
44e024:	8b 46 44             	mov    0x44(%esi),%eax
44e027:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44e02b:	74 33                	je     0x44e060
44e02d:	83 c7 02             	add    $0x2,%edi
44e030:	42                   	inc    %edx
44e031:	89 7d f8             	mov    %edi,-0x8(%ebp)
44e034:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44e037:	7c d7                	jl     0x44e010
44e039:	eb 25                	jmp    0x44e060
44e03b:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44e042:	74 1c                	je     0x44e060
44e044:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44e04a:	76 14                	jbe    0x44e060
44e04c:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44e053:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44e05a:	0f 8f 60 b0 ff ff    	jg     0x4490c0
44e060:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
44e064:	0f 85 36 6c fc ff    	jne    0x414ca0
44e06a:	3b 7d f0             	cmp    -0x10(%ebp),%edi
44e06d:	0f 84 12 6b fc ff    	je     0x414b85
44e073:	8b 45 18             	mov    0x18(%ebp),%eax
44e076:	8b d3                	mov    %ebx,%edx
44e078:	40                   	inc    %eax
44e079:	8b cf                	mov    %edi,%ecx
44e07b:	50                   	push   %eax
44e07c:	ff 75 14             	push   0x14(%ebp)
44e07f:	56                   	push   %esi
44e080:	ff 75 0c             	push   0xc(%ebp)
44e083:	ff 75 08             	push   0x8(%ebp)
44e086:	e8 35 69 fc ff       	call   0x4149c0
44e08b:	83 c4 14             	add    $0x14,%esp
44e08e:	85 c0                	test   %eax,%eax
44e090:	0f 85 a7 6a fc ff    	jne    0x414b3d
44e096:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44e099:	83 ef 02             	sub    $0x2,%edi
44e09c:	83 7d e4 11          	cmpl   $0x11,-0x1c(%ebp)
44e0a0:	89 7d f8             	mov    %edi,-0x8(%ebp)
44e0a3:	75 17                	jne    0x44e0bc
44e0a5:	3b f9                	cmp    %ecx,%edi
44e0a7:	76 15                	jbe    0x44e0be
44e0a9:	66 83 3f 0a          	cmpw   $0xa,(%edi)
44e0ad:	75 0d                	jne    0x44e0bc
44e0af:	66 83 7f fe 0d       	cmpw   $0xd,-0x2(%edi)
44e0b4:	75 06                	jne    0x44e0bc
44e0b6:	83 c7 fe             	add    $0xfffffffe,%edi
44e0b9:	89 7d f8             	mov    %edi,-0x8(%ebp)
44e0bc:	3b f9                	cmp    %ecx,%edi
44e0be:	75 b3                	jne    0x44e073
44e0c0:	e9 c0 6a fc ff       	jmp    0x414b85
44e0c5:	8b 45 18             	mov    0x18(%ebp),%eax
44e0c8:	40                   	inc    %eax
44e0c9:	66 83 3b 7a          	cmpw   $0x7a,(%ebx)
44e0cd:	50                   	push   %eax
44e0ce:	ff 75 14             	push   0x14(%ebp)
44e0d1:	56                   	push   %esi
44e0d2:	52                   	push   %edx
44e0d3:	51                   	push   %ecx
44e0d4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e0d7:	75 1b                	jne    0x44e0f4
44e0d9:	8d 53 04             	lea    0x4(%ebx),%edx
44e0dc:	e8 df 68 fc ff       	call   0x4149c0
44e0e1:	83 c4 14             	add    $0x14,%esp
44e0e4:	85 c0                	test   %eax,%eax
44e0e6:	0f 85 51 6a fc ff    	jne    0x414b3d
44e0ec:	8b 5d ec             	mov    -0x14(%ebp),%ebx
44e0ef:	e9 8e 6a fc ff       	jmp    0x414b82
44e0f4:	8b 55 ec             	mov    -0x14(%ebp),%edx
44e0f7:	e8 c4 68 fc ff       	call   0x4149c0
44e0fc:	83 c4 14             	add    $0x14,%esp
44e0ff:	85 c0                	test   %eax,%eax
44e101:	0f 85 36 6a fc ff    	jne    0x414b3d
44e107:	83 c3 04             	add    $0x4,%ebx
44e10a:	e9 73 6a fc ff       	jmp    0x414b82
44e10f:	8b 45 18             	mov    0x18(%ebp),%eax
44e112:	40                   	inc    %eax
44e113:	66 83 3b 7a          	cmpw   $0x7a,(%ebx)
44e117:	50                   	push   %eax
44e118:	ff 75 14             	push   0x14(%ebp)
44e11b:	56                   	push   %esi
44e11c:	ff 75 0c             	push   0xc(%ebp)
44e11f:	ff 75 08             	push   0x8(%ebp)
44e122:	75 5a                	jne    0x44e17e
44e124:	8b 7d f8             	mov    -0x8(%ebp),%edi
44e127:	8d 53 04             	lea    0x4(%ebx),%edx
44e12a:	8b cf                	mov    %edi,%ecx
44e12c:	e8 8f 68 fc ff       	call   0x4149c0
44e131:	83 c4 14             	add    $0x14,%esp
44e134:	85 c0                	test   %eax,%eax
44e136:	0f 85 01 6a fc ff    	jne    0x414b3d
44e13c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
44e13f:	b9 81 00 00 00       	mov    $0x81,%ecx
44e144:	0f b7 03             	movzwl (%ebx),%eax
44e147:	66 3b c1             	cmp    %cx,%ax
44e14a:	0f 84 8b 02 00 00    	je     0x44e3db
44e150:	b9 88 00 00 00       	mov    $0x88,%ecx
44e155:	66 3b c1             	cmp    %cx,%ax
44e158:	0f 82 24 6a fc ff    	jb     0x414b82
44e15e:	8b 45 18             	mov    0x18(%ebp),%eax
44e161:	8b d3                	mov    %ebx,%edx
44e163:	40                   	inc    %eax
44e164:	8b cf                	mov    %edi,%ecx
44e166:	50                   	push   %eax
44e167:	ff 75 14             	push   0x14(%ebp)
44e16a:	56                   	push   %esi
44e16b:	ff 75 0c             	push   0xc(%ebp)
44e16e:	ff 75 08             	push   0x8(%ebp)
44e171:	e8 4a 68 fc ff       	call   0x4149c0
44e176:	83 c4 14             	add    $0x14,%esp
44e179:	e9 bf 69 fc ff       	jmp    0x414b3d
44e17e:	8b d7                	mov    %edi,%edx
44e180:	8b 7d f8             	mov    -0x8(%ebp),%edi
44e183:	8b cf                	mov    %edi,%ecx
44e185:	e8 36 68 fc ff       	call   0x4149c0
44e18a:	83 c4 14             	add    $0x14,%esp
44e18d:	3d 1b fc ff ff       	cmp    $0xfffffc1b,%eax
44e192:	75 11                	jne    0x44e1a5
44e194:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44e197:	39 8e b8 00 00 00    	cmp    %ecx,0xb8(%esi)
44e19d:	0f 85 9a 69 fc ff    	jne    0x414b3d
44e1a3:	eb 0b                	jmp    0x44e1b0
44e1a5:	85 c0                	test   %eax,%eax
44e1a7:	0f 85 90 69 fc ff    	jne    0x414b3d
44e1ad:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44e1b0:	b8 81 00 00 00       	mov    $0x81,%eax
44e1b5:	66 39 01             	cmp    %ax,(%ecx)
44e1b8:	0f 84 50 02 00 00    	je     0x44e40e
44e1be:	83 c3 04             	add    $0x4,%ebx
44e1c1:	e9 bc 69 fc ff       	jmp    0x414b82
44e1c6:	66 8b 07             	mov    (%edi),%ax
44e1c9:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44e1ce:	66 23 c1             	and    %cx,%ax
44e1d1:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44e1d6:	66 3b c1             	cmp    %cx,%ax
44e1d9:	75 06                	jne    0x44e1e1
44e1db:	83 ef 02             	sub    $0x2,%edi
44e1de:	89 7d f8             	mov    %edi,-0x8(%ebp)
44e1e1:	0f b7 0f             	movzwl (%edi),%ecx
44e1e4:	8b c1                	mov    %ecx,%eax
44e1e6:	25 00 fc 00 00       	and    $0xfc00,%eax
44e1eb:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44e1f0:	75 1a                	jne    0x44e20c
44e1f2:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44e1f6:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44e1fc:	25 ff 03 00 00       	and    $0x3ff,%eax
44e201:	c1 e1 0a             	shl    $0xa,%ecx
44e204:	0b c8                	or     %eax,%ecx
44e206:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44e20c:	8b c1                	mov    %ecx,%eax
44e20e:	99                   	cltd
44e20f:	83 e2 7f             	and    $0x7f,%edx
44e212:	03 c2                	add    %edx,%eax
44e214:	c1 f8 07             	sar    $0x7,%eax
44e217:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44e21e:	c1 e0 07             	shl    $0x7,%eax
44e221:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44e227:	79 05                	jns    0x44e22e
44e229:	49                   	dec    %ecx
44e22a:	83 c9 80             	or     $0xffffff80,%ecx
44e22d:	41                   	inc    %ecx
44e22e:	03 c1                	add    %ecx,%eax
44e230:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44e237:	00
44e238:	0f b6 04 c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%eax
44e23f:	00
44e240:	89 45 d8             	mov    %eax,-0x28(%ebp)
44e243:	3b 7d f0             	cmp    -0x10(%ebp),%edi
44e246:	0f 86 39 69 fc ff    	jbe    0x414b85
44e24c:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44e250:	8d 57 fe             	lea    -0x2(%edi),%edx
44e253:	89 55 ec             	mov    %edx,-0x14(%ebp)
44e256:	75 05                	jne    0x44e25d
44e258:	0f b7 0a             	movzwl (%edx),%ecx
44e25b:	eb 46                	jmp    0x44e2a3
44e25d:	66 8b 02             	mov    (%edx),%ax
44e260:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44e265:	66 23 c1             	and    %cx,%ax
44e268:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44e26d:	66 3b c1             	cmp    %cx,%ax
44e270:	75 06                	jne    0x44e278
44e272:	83 ea 02             	sub    $0x2,%edx
44e275:	89 55 ec             	mov    %edx,-0x14(%ebp)
44e278:	0f b7 0a             	movzwl (%edx),%ecx
44e27b:	8b c1                	mov    %ecx,%eax
44e27d:	25 00 fc 00 00       	and    $0xfc00,%eax
44e282:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44e287:	75 1a                	jne    0x44e2a3
44e289:	0f b7 42 02          	movzwl 0x2(%edx),%eax
44e28d:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44e293:	25 ff 03 00 00       	and    $0x3ff,%eax
44e298:	c1 e1 0a             	shl    $0xa,%ecx
44e29b:	0b c8                	or     %eax,%ecx
44e29d:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44e2a3:	8b c1                	mov    %ecx,%eax
44e2a5:	99                   	cltd
44e2a6:	83 e2 7f             	and    $0x7f,%edx
44e2a9:	03 c2                	add    %edx,%eax
44e2ab:	c1 f8 07             	sar    $0x7,%eax
44e2ae:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44e2b5:	c1 e0 07             	shl    $0x7,%eax
44e2b8:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44e2be:	79 05                	jns    0x44e2c5
44e2c0:	49                   	dec    %ecx
44e2c1:	83 c9 80             	or     $0xffffff80,%ecx
44e2c4:	41                   	inc    %ecx
44e2c5:	03 c1                	add    %ecx,%eax
44e2c7:	8b 4d d8             	mov    -0x28(%ebp),%ecx
44e2ca:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44e2d1:	00
44e2d2:	0f b6 14 c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%edx
44e2d9:	00
44e2da:	b8 01 00 00 00       	mov    $0x1,%eax
44e2df:	d3 e0                	shl    %cl,%eax
44e2e1:	85 04 95 00 58 4a 00 	test   %eax,0x4a5800(,%edx,4)
44e2e8:	0f 84 fb f0 ff ff    	je     0x44d3e9
44e2ee:	8b 7d ec             	mov    -0x14(%ebp),%edi
44e2f1:	89 7d f8             	mov    %edi,-0x8(%ebp)
44e2f4:	89 55 d8             	mov    %edx,-0x28(%ebp)
44e2f7:	e9 47 ff ff ff       	jmp    0x44e243
44e2fc:	c7 86 9c 00 00 00 02 	movl   $0x2,0x9c(%esi)
44e303:	00 00 00
44e306:	e9 f7 6f fc ff       	jmp    0x415302
44e30b:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
44e30f:	8d 04 4b             	lea    (%ebx,%ecx,2),%eax