44d207:	66 8b 07             	mov    (%edi),%ax
44d20a:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44d20f:	66 23 c1             	and    %cx,%ax
44d212:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44d217:	66 3b c1             	cmp    %cx,%ax
44d21a:	75 06                	jne    0x44d222
44d21c:	83 ef 02             	sub    $0x2,%edi
44d21f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d222:	3b 7d f0             	cmp    -0x10(%ebp),%edi
44d225:	77 b2                	ja     0x44d1d9
44d227:	e9 59 79 fc ff       	jmp    0x414b85
44d22c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
44d22f:	83 f9 16             	cmp    $0x16,%ecx
44d232:	0f 85 eb 01 00 00    	jne    0x44d423
44d238:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d23b:	0f 8d 96 01 00 00    	jge    0x44d3d7
44d241:	8b 46 7c             	mov    0x7c(%esi),%eax
44d244:	89 45 d8             	mov    %eax,-0x28(%ebp)
44d247:	3b f8                	cmp    %eax,%edi
44d249:	0f 83 60 01 00 00    	jae    0x44d3af
44d24f:	0f b7 0f             	movzwl (%edi),%ecx
44d252:	83 c7 02             	add    $0x2,%edi
44d255:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44d259:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d25c:	74 2d                	je     0x44d28b
44d25e:	8b c1                	mov    %ecx,%eax
44d260:	25 00 fc 00 00       	and    $0xfc00,%eax
44d265:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d26a:	75 1f                	jne    0x44d28b
44d26c:	0f b7 07             	movzwl (%edi),%eax
44d26f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d275:	c1 e1 0a             	shl    $0xa,%ecx
44d278:	25 ff 03 00 00       	and    $0x3ff,%eax
44d27d:	0b c8                	or     %eax,%ecx
44d27f:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d285:	83 c7 02             	add    $0x2,%edi
44d288:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d28b:	8b c1                	mov    %ecx,%eax
44d28d:	99                   	cltd
44d28e:	83 e2 7f             	and    $0x7f,%edx
44d291:	03 c2                	add    %edx,%eax
44d293:	c1 f8 07             	sar    $0x7,%eax
44d296:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44d29d:	c1 e0 07             	shl    $0x7,%eax
44d2a0:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44d2a6:	79 05                	jns    0x44d2ad
44d2a8:	49                   	dec    %ecx
44d2a9:	83 c9 80             	or     $0xffffff80,%ecx
44d2ac:	41                   	inc    %ecx
44d2ad:	03 c1                	add    %ecx,%eax
44d2af:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44d2b6:	00
44d2b7:	0f b6 0c c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%ecx
44d2be:	00
44d2bf:	8b 46 7c             	mov    0x7c(%esi),%eax
44d2c2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44d2c5:	3b f8                	cmp    %eax,%edi
44d2c7:	0f 83 a7 00 00 00    	jae    0x44d374
44d2cd:	8b 5d dc             	mov    -0x24(%ebp),%ebx
44d2d0:	8b f1                	mov    %ecx,%esi
44d2d2:	0f b7 0f             	movzwl (%edi),%ecx
44d2d5:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44d2dc:	85 db                	test   %ebx,%ebx
44d2de:	74 2f                	je     0x44d30f
44d2e0:	8b c1                	mov    %ecx,%eax
44d2e2:	25 00 fc 00 00       	and    $0xfc00,%eax
44d2e7:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d2ec:	75 21                	jne    0x44d30f
44d2ee:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d2f2:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d2f8:	25 ff 03 00 00       	and    $0x3ff,%eax
44d2fd:	c1 e1 0a             	shl    $0xa,%ecx
44d300:	0b c8                	or     %eax,%ecx
44d302:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
44d309:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d30f:	8b c1                	mov    %ecx,%eax
44d311:	99                   	cltd
44d312:	83 e2 7f             	and    $0x7f,%edx
44d315:	03 c2                	add    %edx,%eax
44d317:	c1 f8 07             	sar    $0x7,%eax
44d31a:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44d321:	c1 e0 07             	shl    $0x7,%eax
44d324:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44d32a:	79 05                	jns    0x44d331
44d32c:	49                   	dec    %ecx
44d32d:	83 c9 80             	or     $0xffffff80,%ecx
44d330:	41                   	inc    %ecx
44d331:	03 c1                	add    %ecx,%eax
44d333:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44d33a:	00
44d33b:	0f b6 0c c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%ecx
44d342:	00
44d343:	b8 01 00 00 00       	mov    $0x1,%eax
44d348:	d3 e0                	shl    %cl,%eax
44d34a:	85 04 b5 00 58 4a 00 	test   %eax,0x4a5800(,%esi,4)
44d351:	74 15                	je     0x44d368
44d353:	8b 45 ec             	mov    -0x14(%ebp),%eax
44d356:	8b f1                	mov    %ecx,%esi
44d358:	8d 3c 47             	lea    (%edi,%eax,2),%edi
44d35b:	8b 45 d8             	mov    -0x28(%ebp),%eax
44d35e:	3b f8                	cmp    %eax,%edi
44d360:	0f 82 6c ff ff ff    	jb     0x44d2d2
44d366:	eb 03                	jmp    0x44d36b
44d368:	8b 45 d8             	mov    -0x28(%ebp),%eax
44d36b:	8b 75 10             	mov    0x10(%ebp),%esi
44d36e:	8b 5d d0             	mov    -0x30(%ebp),%ebx
44d371:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d374:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44d37b:	74 20                	je     0x44d39d
44d37d:	3b f8                	cmp    %eax,%edi
44d37f:	72 1c                	jb     0x44d39d
44d381:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44d387:	76 14                	jbe    0x44d39d
44d389:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44d390:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44d397:	0f 8f 23 bd ff ff    	jg     0x4490c0
44d39d:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d3a0:	40                   	inc    %eax
44d3a1:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d3a4:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d3a7:	0f 8c 94 fe ff ff    	jl     0x44d241
44d3ad:	eb 25                	jmp    0x44d3d4
44d3af:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44d3b6:	74 1c                	je     0x44d3d4
44d3b8:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44d3be:	76 14                	jbe    0x44d3d4
44d3c0:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44d3c7:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44d3ce:	0f 8f ec bc ff ff    	jg     0x4490c0
44d3d4:	8b 45 f0             	mov    -0x10(%ebp),%eax
44d3d7:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
44d3db:	0f 85 bf 78 fc ff    	jne    0x414ca0
44d3e1:	3b f8                	cmp    %eax,%edi
44d3e3:	0f 86 9c 77 fc ff    	jbe    0x414b85
44d3e9:	8b 45 18             	mov    0x18(%ebp),%eax
44d3ec:	8b d3                	mov    %ebx,%edx
44d3ee:	40                   	inc    %eax
44d3ef:	8b cf                	mov    %edi,%ecx
44d3f1:	50                   	push   %eax
44d3f2:	ff 75 14             	push   0x14(%ebp)
44d3f5:	56                   	push   %esi
44d3f6:	ff 75 0c             	push   0xc(%ebp)
44d3f9:	ff 75 08             	push   0x8(%ebp)
44d3fc:	e8 bf 75 fc ff       	call   0x4149c0
44d401:	83 c4 14             	add    $0x14,%esp
44d404:	85 c0                	test   %eax,%eax
44d406:	0f 85 31 77 fc ff    	jne    0x414b3d
44d40c:	83 ef 02             	sub    $0x2,%edi
44d40f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d412:	39 45 dc             	cmp    %eax,-0x24(%ebp)
44d415:	0f 85 ab 0d 00 00    	jne    0x44e1c6
44d41b:	0f b7 0f             	movzwl (%edi),%ecx
44d41e:	e9 e9 0d 00 00       	jmp    0x44e20c
44d423:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44d427:	8d 41 fa             	lea    -0x6(%ecx),%eax
44d42a:	0f 84 53 07 00 00    	je     0x44db83
44d430:	83 f8 0f             	cmp    $0xf,%eax
44d433:	0f 87 c5 10 00 00    	ja     0x44e4fe
44d439:	ff 24 85 57 03 45 00 	jmp    *0x450357(,%eax,4)
44d440:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d443:	0f 8d b5 06 00 00    	jge    0x44dafe
44d449:	8d 47 02             	lea    0x2(%edi),%eax
44d44c:	89 45 e0             	mov    %eax,-0x20(%ebp)
44d44f:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44d452:	3b f9                	cmp    %ecx,%edi
44d454:	0f 83 40 01 00 00    	jae    0x44d59a
44d45a:	8b 56 18             	mov    0x18(%esi),%edx
44d45d:	85 d2                	test   %edx,%edx
44d45f:	0f 84 9b 00 00 00    	je     0x44d500
44d465:	ff 75 dc             	push   -0x24(%ebp)
44d468:	8d 46 1c             	lea    0x1c(%esi),%eax
44d46b:	50                   	push   %eax
44d46c:	51                   	push   %ecx
44d46d:	8b cf                	mov    %edi,%ecx
44d46f:	e8 2b 8a fc ff       	call   0x415e9f
44d474:	83 c4 0c             	add    $0xc,%esp
44d477:	85 c0                	test   %eax,%eax
44d479:	0f 85 7f 06 00 00    	jne    0x44dafe
44d47f:	8b 55 e0             	mov    -0x20(%ebp),%edx
44d482:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44d489:	74 2e                	je     0x44d4b9
44d48b:	3b 56 7c             	cmp    0x7c(%esi),%edx
44d48e:	72 29                	jb     0x44d4b9
44d490:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
44d494:	75 23                	jne    0x44d4b9
44d496:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
44d49a:	75 1d                	jne    0x44d4b9
44d49c:	66 8b 07             	mov    (%edi),%ax
44d49f:	66 3b 46 34          	cmp    0x34(%esi),%ax
44d4a3:	75 14                	jne    0x44d4b9
44d4a5:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44d4ac:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44d4b3:	0f 8f 07 bc ff ff    	jg     0x4490c0
44d4b9:	83 c7 02             	add    $0x2,%edi
44d4bc:	83 c2 02             	add    $0x2,%edx
44d4bf:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d4c2:	89 55 e0             	mov    %edx,-0x20(%ebp)
44d4c5:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d4c8:	73 21                	jae    0x44d4eb
44d4ca:	66 8b 07             	mov    (%edi),%ax
44d4cd:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44d4d2:	66 23 c1             	and    %cx,%ax
44d4d5:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44d4da:	66 3b c1             	cmp    %cx,%ax
44d4dd:	75 0c                	jne    0x44d4eb
44d4df:	83 c7 02             	add    $0x2,%edi
44d4e2:	83 c2 02             	add    $0x2,%edx
44d4e5:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d4e8:	89 55 e0             	mov    %edx,-0x20(%ebp)
44d4eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d4ee:	40                   	inc    %eax
44d4ef:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d4f2:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d4f5:	0f 8c 54 ff ff ff    	jl     0x44d44f
44d4fb:	e9 fe 05 00 00       	jmp    0x44dafe
44d500:	8b 56 1c             	mov    0x1c(%esi),%edx
44d503:	8d 04 12             	lea    (%edx,%edx,1),%eax
44d506:	2b c8                	sub    %eax,%ecx
44d508:	3b f9                	cmp    %ecx,%edi
44d50a:	0f 87 6f ff ff ff    	ja     0x44d47f
44d510:	66 8b 07             	mov    (%edi),%ax
44d513:	66 3b 46 34          	cmp    0x34(%esi),%ax
44d517:	0f 85 62 ff ff ff    	jne    0x44d47f
44d51d:	83 fa 01             	cmp    $0x1,%edx
44d520:	0f 84 d8 05 00 00    	je     0x44dafe
44d526:	8b 55 e0             	mov    -0x20(%ebp),%edx
44d529:	66 8b 02             	mov    (%edx),%ax
44d52c:	66 3b 46 36          	cmp    0x36(%esi),%ax
44d530:	0f 85 4c ff ff ff    	jne    0x44d482
44d536:	e9 c3 05 00 00       	jmp    0x44dafe
44d53b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
44d53e:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
44d544:	7d 4a                	jge    0x44d590
44d546:	3b d1                	cmp    %ecx,%edx
44d548:	0f 8d b0 05 00 00    	jge    0x44dafe
44d54e:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44d551:	8b 45 e8             	mov    -0x18(%ebp),%eax
44d554:	3b f9                	cmp    %ecx,%edi
44d556:	73 42                	jae    0x44d59a
44d558:	83 c7 02             	add    $0x2,%edi
44d55b:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d55e:	3b f9                	cmp    %ecx,%edi
44d560:	73 24                	jae    0x44d586
44d562:	66 8b 07             	mov    (%edi),%ax
44d565:	c7 45 ec 00 fc 00 00 	movl   $0xfc00,-0x14(%ebp)
44d56c:	66 23 45 ec          	and    -0x14(%ebp),%ax
44d570:	c7 45 ec 00 dc 00 00 	movl   $0xdc00,-0x14(%ebp)
44d577:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
44d57b:	8b 45 e8             	mov    -0x18(%ebp),%eax
44d57e:	75 06                	jne    0x44d586
44d580:	83 c7 02             	add    $0x2,%edi
44d583:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d586:	42                   	inc    %edx
44d587:	3b d0                	cmp    %eax,%edx
44d589:	7c c9                	jl     0x44d554
44d58b:	e9 6e 05 00 00       	jmp    0x44dafe
44d590:	8b 7e 7c             	mov    0x7c(%esi),%edi
44d593:	eb 02                	jmp    0x44d597
44d595:	8b f9                	mov    %ecx,%edi
44d597:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d59a:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44d5a1:	0f 84 57 05 00 00    	je     0x44dafe
44d5a7:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44d5ad:	0f 86 4b 05 00 00    	jbe    0x44dafe
44d5b3:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44d5ba:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44d5c1:	0f 8e 37 05 00 00    	jle    0x44dafe
44d5c7:	e9 f4 ba ff ff       	jmp    0x4490c0
44d5cc:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44d5cf:	8b c1                	mov    %ecx,%eax
44d5d1:	29 55 e8             	sub    %edx,-0x18(%ebp)
44d5d4:	2b c7                	sub    %edi,%eax
44d5d6:	8b 55 e8             	mov    -0x18(%ebp),%edx
44d5d9:	d1 f8                	sar    $1,%eax
44d5db:	3b d0                	cmp    %eax,%edx
44d5dd:	77 b6                	ja     0x44d595
44d5df:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d5e2:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d5e5:	e9 14 05 00 00       	jmp    0x44dafe
44d5ea:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d5ed:	0f 8d 0b 05 00 00    	jge    0x44dafe
44d5f3:	8b 46 7c             	mov    0x7c(%esi),%eax
44d5f6:	ba 01 00 00 00       	mov    $0x1,%edx
44d5fb:	3b f8                	cmp    %eax,%edi
44d5fd:	0f 83 a4 00 00 00    	jae    0x44d6a7
44d603:	0f b7 0f             	movzwl (%edi),%ecx
44d606:	8b c1                	mov    %ecx,%eax
44d608:	25 00 fc 00 00       	and    $0xfc00,%eax
44d60d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d612:	75 1f                	jne    0x44d633
44d614:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d618:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d61e:	25 ff 03 00 00       	and    $0x3ff,%eax
44d623:	c1 e1 0a             	shl    $0xa,%ecx
44d626:	0b c8                	or     %eax,%ecx
44d628:	ba 02 00 00 00       	mov    $0x2,%edx
44d62d:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d633:	83 f9 0d             	cmp    $0xd,%ecx
44d636:	75 1c                	jne    0x44d654
44d638:	8b 46 7c             	mov    0x7c(%esi),%eax
44d63b:	83 c7 02             	add    $0x2,%edi
44d63e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d641:	3b f8                	cmp    %eax,%edi
44d643:	0f 83 b5 04 00 00    	jae    0x44dafe
44d649:	66 83 3f 0a          	cmpw   $0xa,(%edi)
44d64d:	75 43                	jne    0x44d692
44d64f:	83 c7 02             	add    $0x2,%edi
44d652:	eb 3b                	jmp    0x44d68f
44d654:	83 f9 0a             	cmp    $0xa,%ecx
44d657:	74 30                	je     0x44d689
44d659:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
44d65d:	0f 85 9b 04 00 00    	jne    0x44dafe
44d663:	83 f9 0b             	cmp    $0xb,%ecx
44d666:	74 21                	je     0x44d689
44d668:	83 f9 0c             	cmp    $0xc,%ecx
44d66b:	74 1c                	je     0x44d689
44d66d:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44d673:	74 14                	je     0x44d689
44d675:	81 f9 28 20 00 00    	cmp    $0x2028,%ecx
44d67b:	74 0c                	je     0x44d689
44d67d:	81 f9 29 20 00 00    	cmp    $0x2029,%ecx
44d683:	0f 85 75 04 00 00    	jne    0x44dafe
44d689:	8b 46 7c             	mov    0x7c(%esi),%eax
44d68c:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d68f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d692:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44d695:	41                   	inc    %ecx
44d696:	89 4d f4             	mov    %ecx,-0xc(%ebp)
44d699:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
44d69c:	0f 8c 54 ff ff ff    	jl     0x44d5f6
44d6a2:	e9 57 04 00 00       	jmp    0x44dafe
44d6a7:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44d6ae:	0f 84 4a 04 00 00    	je     0x44dafe
44d6b4:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44d6ba:	0f 86 3e 04 00 00    	jbe    0x44dafe
44d6c0:	89 56 68             	mov    %edx,0x68(%esi)
44d6c3:	39 96 8c 00 00 00    	cmp    %edx,0x8c(%esi)
44d6c9:	0f 8e 2f 04 00 00    	jle    0x44dafe
44d6cf:	e9 ec b9 ff ff       	jmp    0x4490c0
44d6d4:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d6d7:	0f 8d 21 04 00 00    	jge    0x44dafe
44d6dd:	ba 01 00 00 00       	mov    $0x1,%edx
44d6e2:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d6e5:	73 c0                	jae    0x44d6a7
44d6e7:	0f b7 0f             	movzwl (%edi),%ecx
44d6ea:	8b c1                	mov    %ecx,%eax
44d6ec:	25 00 fc 00 00       	and    $0xfc00,%eax
44d6f1:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d6f6:	75 1f                	jne    0x44d717
44d6f8:	0f b7 47 02          	movzwl 0x2(%edi),%eax