44f4f9:	0f 83 67 f3 ff ff    	jae    0x44e866
44f4ff:	0f b7 0f             	movzwl (%edi),%ecx
44f502:	83 c7 02             	add    $0x2,%edi
44f505:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44f509:	74 2a                	je     0x44f535
44f50b:	8b c1                	mov    %ecx,%eax
44f50d:	25 00 fc 00 00       	and    $0xfc00,%eax
44f512:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44f517:	75 1c                	jne    0x44f535
44f519:	0f b7 07             	movzwl (%edi),%eax
44f51c:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f522:	c1 e1 0a             	shl    $0xa,%ecx
44f525:	25 ff 03 00 00       	and    $0x3ff,%eax
44f52a:	0b c8                	or     %eax,%ecx
44f52c:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f532:	83 c7 02             	add    $0x2,%edi
44f535:	83 f9 24             	cmp    $0x24,%ecx
44f538:	74 26                	je     0x44f560
44f53a:	83 f9 40             	cmp    $0x40,%ecx
44f53d:	74 21                	je     0x44f560
44f53f:	83 f9 60             	cmp    $0x60,%ecx
44f542:	74 1c                	je     0x44f560
44f544:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44f54a:	72 08                	jb     0x44f554
44f54c:	81 f9 ff d7 00 00    	cmp    $0xd7ff,%ecx
44f552:	76 0c                	jbe    0x44f560
44f554:	81 f9 00 e0 00 00    	cmp    $0xe000,%ecx
44f55a:	73 04                	jae    0x44f560
44f55c:	33 c0                	xor    %eax,%eax
44f55e:	eb 05                	jmp    0x44f565
44f560:	b8 01 00 00 00       	mov    $0x1,%eax
44f565:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44f568:	0f 84 f0 5a fc ff    	je     0x41505e
44f56e:	8b 45 18             	mov    0x18(%ebp),%eax
44f571:	42                   	inc    %edx
44f572:	40                   	inc    %eax
44f573:	89 55 f4             	mov    %edx,-0xc(%ebp)
44f576:	50                   	push   %eax
44f577:	ff 75 14             	push   0x14(%ebp)
44f57a:	8b d3                	mov    %ebx,%edx
44f57c:	8b cf                	mov    %edi,%ecx
44f57e:	56                   	push   %esi
44f57f:	ff 75 0c             	push   0xc(%ebp)
44f582:	ff 75 08             	push   0x8(%ebp)
44f585:	e8 36 54 fc ff       	call   0x4149c0
44f58a:	83 c4 14             	add    $0x14,%esp
44f58d:	85 c0                	test   %eax,%eax
44f58f:	0f 84 55 ff ff ff    	je     0x44f4ea
44f595:	e9 a3 55 fc ff       	jmp    0x414b3d
44f59a:	85 c0                	test   %eax,%eax
44f59c:	0f 85 9b 55 fc ff    	jne    0x414b3d
44f5a2:	8b 45 e8             	mov    -0x18(%ebp),%eax
44f5a5:	39 45 f4             	cmp    %eax,-0xc(%ebp)
44f5a8:	0f 8d b0 5a fc ff    	jge    0x41505e
44f5ae:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44f5b1:	0f 83 af f2 ff ff    	jae    0x44e866
44f5b7:	0f b7 0f             	movzwl (%edi),%ecx
44f5ba:	83 c7 02             	add    $0x2,%edi
44f5bd:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44f5c1:	74 2a                	je     0x44f5ed
44f5c3:	8b c1                	mov    %ecx,%eax
44f5c5:	25 00 fc 00 00       	and    $0xfc00,%eax
44f5ca:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44f5cf:	75 1c                	jne    0x44f5ed
44f5d1:	0f b7 07             	movzwl (%edi),%eax
44f5d4:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f5da:	c1 e1 0a             	shl    $0xa,%ecx
44f5dd:	25 ff 03 00 00       	and    $0x3ff,%eax
44f5e2:	0b c8                	or     %eax,%ecx
44f5e4:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f5ea:	83 c7 02             	add    $0x2,%edi
44f5ed:	8b c1                	mov    %ecx,%eax
44f5ef:	99                   	cltd
44f5f0:	83 e2 7f             	and    $0x7f,%edx
44f5f3:	03 c2                	add    %edx,%eax
44f5f5:	c1 f8 07             	sar    $0x7,%eax
44f5f8:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44f5ff:	c1 e0 07             	shl    $0x7,%eax
44f602:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44f608:	79 05                	jns    0x44f60f
44f60a:	49                   	dec    %ecx
44f60b:	83 c9 80             	or     $0xffffff80,%ecx
44f60e:	41                   	inc    %ecx
44f60f:	03 c1                	add    %ecx,%eax
44f611:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44f618:	00
44f619:	0f b6 0c c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%ecx
44f620:	00
44f621:	8b 46 7c             	mov    0x7c(%esi),%eax
44f624:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44f627:	3b f8                	cmp    %eax,%edi
44f629:	0f 83 a0 00 00 00    	jae    0x44f6cf
44f62f:	8b d9                	mov    %ecx,%ebx
44f631:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44f635:	0f b7 0f             	movzwl (%edi),%ecx
44f638:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44f63f:	74 2f                	je     0x44f670
44f641:	8b c1                	mov    %ecx,%eax
44f643:	25 00 fc 00 00       	and    $0xfc00,%eax
44f648:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44f64d:	75 21                	jne    0x44f670
44f64f:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44f653:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f659:	25 ff 03 00 00       	and    $0x3ff,%eax
44f65e:	c1 e1 0a             	shl    $0xa,%ecx
44f661:	0b c8                	or     %eax,%ecx
44f663:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
44f66a:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f670:	8b c1                	mov    %ecx,%eax
44f672:	99                   	cltd
44f673:	83 e2 7f             	and    $0x7f,%edx
44f676:	03 c2                	add    %edx,%eax
44f678:	c1 f8 07             	sar    $0x7,%eax
44f67b:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44f682:	c1 e0 07             	shl    $0x7,%eax
44f685:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44f68b:	79 05                	jns    0x44f692
44f68d:	49                   	dec    %ecx
44f68e:	83 c9 80             	or     $0xffffff80,%ecx
44f691:	41                   	inc    %ecx
44f692:	03 c1                	add    %ecx,%eax
44f694:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44f69b:	00
44f69c:	0f b6 0c c5 52 2f 4a 	movzbl 0x4a2f52(,%eax,8),%ecx
44f6a3:	00
44f6a4:	b8 01 00 00 00       	mov    $0x1,%eax
44f6a9:	d3 e0                	shl    %cl,%eax
44f6ab:	85 04 9d 00 58 4a 00 	test   %eax,0x4a5800(,%ebx,4)
44f6b2:	74 15                	je     0x44f6c9
44f6b4:	8b 45 ec             	mov    -0x14(%ebp),%eax
44f6b7:	8b d9                	mov    %ecx,%ebx
44f6b9:	8d 3c 47             	lea    (%edi,%eax,2),%edi
44f6bc:	8b 46 7c             	mov    0x7c(%esi),%eax
44f6bf:	3b f8                	cmp    %eax,%edi
44f6c1:	0f 82 6a ff ff ff    	jb     0x44f631
44f6c7:	eb 03                	jmp    0x44f6cc
44f6c9:	8b 46 7c             	mov    0x7c(%esi),%eax
44f6cc:	8b 5d d0             	mov    -0x30(%ebp),%ebx
44f6cf:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44f6d6:	74 20                	je     0x44f6f8
44f6d8:	3b f8                	cmp    %eax,%edi
44f6da:	72 1c                	jb     0x44f6f8
44f6dc:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44f6e2:	76 14                	jbe    0x44f6f8
44f6e4:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44f6eb:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44f6f2:	0f 8f c8 99 ff ff    	jg     0x4490c0
44f6f8:	8b 45 18             	mov    0x18(%ebp),%eax
44f6fb:	8b d3                	mov    %ebx,%edx
44f6fd:	ff 45 f4             	incl   -0xc(%ebp)
44f700:	40                   	inc    %eax
44f701:	50                   	push   %eax
44f702:	ff 75 14             	push   0x14(%ebp)
44f705:	8b cf                	mov    %edi,%ecx
44f707:	56                   	push   %esi
44f708:	ff 75 0c             	push   0xc(%ebp)
44f70b:	ff 75 08             	push   0x8(%ebp)
44f70e:	e8 ad 52 fc ff       	call   0x4149c0
44f713:	83 c4 14             	add    $0x14,%esp
44f716:	85 c0                	test   %eax,%eax
44f718:	0f 84 84 fe ff ff    	je     0x44f5a2
44f71e:	e9 1a 54 fc ff       	jmp    0x414b3d
44f723:	8b 56 1c             	mov    0x1c(%esi),%edx
44f726:	8d 04 12             	lea    (%edx,%edx,1),%eax
44f729:	2b c8                	sub    %eax,%ecx
44f72b:	3b f9                	cmp    %ecx,%edi
44f72d:	0f 87 2f 5a fc ff    	ja     0x415162
44f733:	66 8b 07             	mov    (%edi),%ax
44f736:	66 3b 46 34          	cmp    0x34(%esi),%ax
44f73a:	0f 85 22 5a fc ff    	jne    0x415162
44f740:	83 fa 01             	cmp    $0x1,%edx
44f743:	0f 84 15 59 fc ff    	je     0x41505e
44f749:	66 8b 47 02          	mov    0x2(%edi),%ax
44f74d:	66 3b 46 36          	cmp    0x36(%esi),%ax
44f751:	0f 84 07 59 fc ff    	je     0x41505e
44f757:	e9 06 5a fc ff       	jmp    0x415162
44f75c:	0f b7 07             	movzwl (%edi),%eax
44f75f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44f765:	c1 e1 0a             	shl    $0xa,%ecx
44f768:	25 ff 03 00 00       	and    $0x3ff,%eax
44f76d:	0b c8                	or     %eax,%ecx
44f76f:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44f775:	83 c7 02             	add    $0x2,%edi
44f778:	e9 00 5a fc ff       	jmp    0x41517d
44f77d:	83 c0 fa             	add    $0xfffffffa,%eax
44f780:	83 f8 0f             	cmp    $0xf,%eax
44f783:	0f 87 75 ed ff ff    	ja     0x44e4fe
44f789:	ff 24 85 37 04 45 00 	jmp    *0x450437(,%eax,4)
44f790:	83 f9 0d             	cmp    $0xd,%ecx
44f793:	77 34                	ja     0x44f7c9
44f795:	74 17                	je     0x44f7ae
44f797:	83 f9 0a             	cmp    $0xa,%ecx
44f79a:	0f 84 f6 59 fc ff    	je     0x415196
44f7a0:	8d 41 f5             	lea    -0xb(%ecx),%eax
44f7a3:	83 f8 01             	cmp    $0x1,%eax
44f7a6:	0f 87 b2 58 fc ff    	ja     0x41505e
44f7ac:	eb 32                	jmp    0x44f7e0
44f7ae:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44f7b1:	0f 83 df 59 fc ff    	jae    0x415196
44f7b7:	66 83 3f 0a          	cmpw   $0xa,(%edi)
44f7bb:	0f 85 d5 59 fc ff    	jne    0x415196
44f7c1:	83 c7 02             	add    $0x2,%edi
44f7c4:	e9 cd 59 fc ff       	jmp    0x415196
44f7c9:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44f7cf:	74 0f                	je     0x44f7e0
44f7d1:	8d 81 d8 df ff ff    	lea    -0x2028(%ecx),%eax
44f7d7:	83 f8 01             	cmp    $0x1,%eax
44f7da:	0f 87 7e 58 fc ff    	ja     0x41505e
44f7e0:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
44f7e4:	0f 85 74 58 fc ff    	jne    0x41505e
44f7ea:	e9 a7 59 fc ff       	jmp    0x415196
44f7ef:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44f7f5:	77 3c                	ja     0x44f833
44f7f7:	0f 84 61 58 fc ff    	je     0x41505e
44f7fd:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44f803:	77 1d                	ja     0x44f822
44f805:	0f 84 53 58 fc ff    	je     0x41505e
44f80b:	83 f9 09             	cmp    $0x9,%ecx
44f80e:	0f 84 4a 58 fc ff    	je     0x41505e
44f814:	83 f9 20             	cmp    $0x20,%ecx
44f817:	0f 84 41 58 fc ff    	je     0x41505e
44f81d:	e9 74 59 fc ff       	jmp    0x415196
44f822:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44f828:	0f 84 30 58 fc ff    	je     0x41505e
44f82e:	e9 63 59 fc ff       	jmp    0x415196
44f833:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44f839:	77 2f                	ja     0x44f86a
44f83b:	0f 84 1d 58 fc ff    	je     0x41505e
44f841:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
44f847:	0f 82 49 59 fc ff    	jb     0x415196
44f84d:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
44f853:	0f 86 05 58 fc ff    	jbe    0x41505e
44f859:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44f85f:	0f 84 f9 57 fc ff    	je     0x41505e
44f865:	e9 2c 59 fc ff       	jmp    0x415196
44f86a:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44f870:	0f 84 e8 57 fc ff    	je     0x41505e
44f876:	e9 1b 59 fc ff       	jmp    0x415196
44f87b:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44f881:	77 3c                	ja     0x44f8bf
44f883:	0f 84 0d 59 fc ff    	je     0x415196
44f889:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44f88f:	77 1d                	ja     0x44f8ae
44f891:	0f 84 ff 58 fc ff    	je     0x415196
44f897:	83 f9 09             	cmp    $0x9,%ecx
44f89a:	0f 84 f6 58 fc ff    	je     0x415196
44f8a0:	83 f9 20             	cmp    $0x20,%ecx
44f8a3:	0f 85 b5 57 fc ff    	jne    0x41505e
44f8a9:	e9 e8 58 fc ff       	jmp    0x415196
44f8ae:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44f8b4:	0f 85 a4 57 fc ff    	jne    0x41505e
44f8ba:	e9 d7 58 fc ff       	jmp    0x415196
44f8bf:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44f8c5:	77 2f                	ja     0x44f8f6
44f8c7:	0f 84 c9 58 fc ff    	je     0x415196
44f8cd:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
44f8d3:	0f 82 85 57 fc ff    	jb     0x41505e
44f8d9:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
44f8df:	0f 86 b1 58 fc ff    	jbe    0x415196
44f8e5:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44f8eb:	0f 85 6d 57 fc ff    	jne    0x41505e
44f8f1:	e9 a0 58 fc ff       	jmp    0x415196
44f8f6:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44f8fc:	0f 85 5c 57 fc ff    	jne    0x41505e
44f902:	e9 8f 58 fc ff       	jmp    0x415196
44f907:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44f90d:	77 1d                	ja     0x44f92c
44f90f:	0f 84 49 57 fc ff    	je     0x41505e
44f915:	83 f9 0a             	cmp    $0xa,%ecx
44f918:	0f 82 78 58 fc ff    	jb     0x415196
44f91e:	83 f9 0d             	cmp    $0xd,%ecx
44f921:	0f 86 37 57 fc ff    	jbe    0x41505e
44f927:	e9 6a 58 fc ff       	jmp    0x415196
44f92c:	81 f9 28 20 00 00    	cmp    $0x2028,%ecx
44f932:	0f 82 5e 58 fc ff    	jb     0x415196
44f938:	81 f9 29 20 00 00    	cmp    $0x2029,%ecx
44f93e:	0f 86 1a 57 fc ff    	jbe    0x41505e
44f944:	e9 4d 58 fc ff       	jmp    0x415196
44f949:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44f94f:	77 17                	ja     0x44f968
44f951:	0f 84 3f 58 fc ff    	je     0x415196
44f957:	8d 41 f6             	lea    -0xa(%ecx),%eax
44f95a:	83 f8 03             	cmp    $0x3,%eax
44f95d:	0f 87 fb 56 fc ff    	ja     0x41505e
44f963:	e9 2e 58 fc ff       	jmp    0x415196
44f968:	8d 81 d8 df ff ff    	lea    -0x2028(%ecx),%eax
44f96e:	83 f8 01             	cmp    $0x1,%eax
44f971:	0f 87 e7 56 fc ff    	ja     0x41505e
44f977:	e9 1a 58 fc ff       	jmp    0x415196
44f97c:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44f982:	0f 83 0e 58 fc ff    	jae    0x415196
44f988:	8b 46 44             	mov    0x44(%esi),%eax
44f98b:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44f98f:	0f 85 c9 56 fc ff    	jne    0x41505e
44f995:	e9 fc 57 fc ff       	jmp    0x415196
44f99a:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44f9a0:	0f 83 b8 56 fc ff    	jae    0x41505e
44f9a6:	8b 46 44             	mov    0x44(%esi),%eax
44f9a9:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44f9ad:	0f 84 ab 56 fc ff    	je     0x41505e
44f9b3:	e9 de 57 fc ff       	jmp    0x415196
44f9b8:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44f9be:	0f 83 d2 57 fc ff    	jae    0x415196
44f9c4:	8b 46 44             	mov    0x44(%esi),%eax
44f9c7:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
44f9cb:	0f 85 8d 56 fc ff    	jne    0x41505e
44f9d1:	e9 c0 57 fc ff       	jmp    0x415196
44f9d6:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44f9dc:	0f 83 7c 56 fc ff    	jae    0x41505e
44f9e2:	8b 46 44             	mov    0x44(%esi),%eax
44f9e5:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
44f9e9:	0f 84 6f 56 fc ff    	je     0x41505e
44f9ef:	e9 a2 57 fc ff       	jmp    0x415196
44f9f4:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44f9fa:	0f 83 96 57 fc ff    	jae    0x415196
44fa00:	8b 46 44             	mov    0x44(%esi),%eax
44fa03:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44fa07:	0f 85 51 56 fc ff    	jne    0x41505e
44fa0d:	e9 84 57 fc ff       	jmp    0x415196
44fa12:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44fa18:	0f 83 40 56 fc ff    	jae    0x41505e
44fa1e:	8b 46 44             	mov    0x44(%esi),%eax
44fa21:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44fa25:	0f 84 33 56 fc ff    	je     0x41505e
44fa2b:	e9 66 57 fc ff       	jmp    0x415196
44fa30:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44fa33:	0f 82 5d 57 fc ff    	jb     0x415196
44fa39:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
44fa3d:	0f 85 53 57 fc ff    	jne    0x415196
44fa43:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
44fa47:	0f 85 49 57 fc ff    	jne    0x415196
44fa4d:	0f b7 46 34          	movzwl 0x34(%esi),%eax
44fa51:	3b c8                	cmp    %eax,%ecx
44fa53:	0f 85 3d 57 fc ff    	jne    0x415196
44fa59:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44fa60:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44fa67:	0f 8f 53 96 ff ff    	jg     0x4490c0
44fa6d:	e9 24 57 fc ff       	jmp    0x415196
44fa72:	85 c0                	test   %eax,%eax
44fa74:	0f 85 c3 50 fc ff    	jne    0x414b3d
44fa7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
44fa7d:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44fa80:	0f 8d d8 55 fc ff    	jge    0x41505e
44fa86:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44fa89:	3b f9                	cmp    %ecx,%edi
44fa8b:	0f 83 d5 ed ff ff    	jae    0x44e866
44fa91:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44fa94:	83 f8 0c             	cmp    $0xc,%eax
44fa97:	75 54                	jne    0x44faed
44fa99:	8b 56 18             	mov    0x18(%esi),%edx