44b408:	8b 75 10             	mov    0x10(%ebp),%esi
44b40b:	89 5d d0             	mov    %ebx,-0x30(%ebp)
44b40e:	e9 ab 9c fc ff       	jmp    0x4150be
44b413:	85 c9                	test   %ecx,%ecx
44b415:	0f 88 95 07 00 00    	js     0x44bbb0
44b41b:	83 f9 0a             	cmp    $0xa,%ecx
44b41e:	0f 87 da 30 00 00    	ja     0x44e4fe
44b424:	ff 24 8d 17 02 45 00 	jmp    *0x450217(,%ecx,4)
44b42b:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
44b42f:	0f 85 29 9c fc ff    	jne    0x41505e
44b435:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b438:	ba 01 00 00 00       	mov    $0x1,%edx
44b43d:	39 55 f4             	cmp    %edx,-0xc(%ebp)
44b440:	0f 8c 47 15 00 00    	jl     0x44c98d
44b446:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b449:	0f 83 17 34 00 00    	jae    0x44e866
44b44f:	0f b7 0f             	movzwl (%edi),%ecx
44b452:	83 c7 02             	add    $0x2,%edi
44b455:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b459:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b45c:	74 14                	je     0x44b472
44b45e:	81 e1 00 fc 00 00    	and    $0xfc00,%ecx
44b464:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
44b46a:	75 06                	jne    0x44b472
44b46c:	83 c7 02             	add    $0x2,%edi
44b46f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b472:	42                   	inc    %edx
44b473:	3b 55 f4             	cmp    -0xc(%ebp),%edx
44b476:	7e ce                	jle    0x44b446
44b478:	e9 28 07 00 00       	jmp    0x44bba5
44b47d:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b480:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b487:	83 fa 01             	cmp    $0x1,%edx
44b48a:	0f 8c 3c 9c fc ff    	jl     0x4150cc
44b490:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b493:	0f 83 cd 33 00 00    	jae    0x44e866
44b499:	0f b7 0f             	movzwl (%edi),%ecx
44b49c:	83 c7 02             	add    $0x2,%edi
44b49f:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b4a3:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b4a6:	74 2d                	je     0x44b4d5
44b4a8:	8b c1                	mov    %ecx,%eax
44b4aa:	25 00 fc 00 00       	and    $0xfc00,%eax
44b4af:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b4b4:	75 1f                	jne    0x44b4d5
44b4b6:	0f b7 07             	movzwl (%edi),%eax
44b4b9:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b4bf:	c1 e1 0a             	shl    $0xa,%ecx
44b4c2:	25 ff 03 00 00       	and    $0x3ff,%eax
44b4c7:	0b c8                	or     %eax,%ecx
44b4c9:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b4cf:	83 c7 02             	add    $0x2,%edi
44b4d2:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b4d5:	8b c1                	mov    %ecx,%eax
44b4d7:	99                   	cltd
44b4d8:	83 e2 7f             	and    $0x7f,%edx
44b4db:	03 c2                	add    %edx,%eax
44b4dd:	c1 f8 07             	sar    $0x7,%eax
44b4e0:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b4e7:	c1 e0 07             	shl    $0x7,%eax
44b4ea:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b4f0:	79 05                	jns    0x44b4f7
44b4f2:	49                   	dec    %ecx
44b4f3:	83 c9 80             	or     $0xffffff80,%ecx
44b4f6:	41                   	inc    %ecx
44b4f7:	03 c1                	add    %ecx,%eax
44b4f9:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b500:	00
44b501:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b508:	00
44b509:	83 f8 09             	cmp    $0x9,%eax
44b50c:	74 0e                	je     0x44b51c
44b50e:	83 f8 05             	cmp    $0x5,%eax
44b511:	74 09                	je     0x44b51c
44b513:	83 f8 08             	cmp    $0x8,%eax
44b516:	74 04                	je     0x44b51c
44b518:	33 c0                	xor    %eax,%eax
44b51a:	eb 05                	jmp    0x44b521
44b51c:	b8 01 00 00 00       	mov    $0x1,%eax
44b521:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44b524:	0f 84 34 9b fc ff    	je     0x41505e
44b52a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b52d:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b530:	41                   	inc    %ecx
44b531:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b534:	3b ca                	cmp    %edx,%ecx
44b536:	0f 8e 54 ff ff ff    	jle    0x44b490
44b53c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b53f:	e9 64 06 00 00       	jmp    0x44bba8
44b544:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b547:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b54e:	83 fa 01             	cmp    $0x1,%edx
44b551:	0f 8c 75 9b fc ff    	jl     0x4150cc
44b557:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b55a:	0f 83 06 33 00 00    	jae    0x44e866
44b560:	0f b7 0f             	movzwl (%edi),%ecx
44b563:	83 c7 02             	add    $0x2,%edi
44b566:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b56a:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b56d:	74 2d                	je     0x44b59c
44b56f:	8b c1                	mov    %ecx,%eax
44b571:	25 00 fc 00 00       	and    $0xfc00,%eax
44b576:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b57b:	75 1f                	jne    0x44b59c
44b57d:	0f b7 07             	movzwl (%edi),%eax
44b580:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b586:	c1 e1 0a             	shl    $0xa,%ecx
44b589:	25 ff 03 00 00       	and    $0x3ff,%eax
44b58e:	0b c8                	or     %eax,%ecx
44b590:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b596:	83 c7 02             	add    $0x2,%edi
44b599:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b59c:	8b c1                	mov    %ecx,%eax
44b59e:	99                   	cltd
44b59f:	83 e2 7f             	and    $0x7f,%edx
44b5a2:	03 c2                	add    %edx,%eax
44b5a4:	c1 f8 07             	sar    $0x7,%eax
44b5a7:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b5ae:	c1 e0 07             	shl    $0x7,%eax
44b5b1:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b5b7:	79 05                	jns    0x44b5be
44b5b9:	49                   	dec    %ecx
44b5ba:	83 c9 80             	or     $0xffffff80,%ecx
44b5bd:	41                   	inc    %ecx
44b5be:	8b 55 c4             	mov    -0x3c(%ebp),%edx
44b5c1:	03 c1                	add    %ecx,%eax
44b5c3:	33 c9                	xor    %ecx,%ecx
44b5c5:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b5cc:	00
44b5cd:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b5d4:	00
44b5d5:	39 14 85 a0 89 4b 00 	cmp    %edx,0x4b89a0(,%eax,4)
44b5dc:	0f 94 c1             	sete   %cl
44b5df:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44b5e2:	0f 84 76 9a fc ff    	je     0x41505e
44b5e8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b5eb:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b5ee:	41                   	inc    %ecx
44b5ef:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b5f2:	3b ca                	cmp    %edx,%ecx
44b5f4:	0f 8e 5d ff ff ff    	jle    0x44b557
44b5fa:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b5fd:	e9 a6 05 00 00       	jmp    0x44bba8
44b602:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b605:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b60c:	83 fa 01             	cmp    $0x1,%edx
44b60f:	0f 8c b7 9a fc ff    	jl     0x4150cc
44b615:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b618:	0f 83 48 32 00 00    	jae    0x44e866
44b61e:	0f b7 0f             	movzwl (%edi),%ecx
44b621:	83 c7 02             	add    $0x2,%edi
44b624:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b628:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b62b:	74 2d                	je     0x44b65a
44b62d:	8b c1                	mov    %ecx,%eax
44b62f:	25 00 fc 00 00       	and    $0xfc00,%eax
44b634:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b639:	75 1f                	jne    0x44b65a
44b63b:	0f b7 07             	movzwl (%edi),%eax
44b63e:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b644:	c1 e1 0a             	shl    $0xa,%ecx
44b647:	25 ff 03 00 00       	and    $0x3ff,%eax
44b64c:	0b c8                	or     %eax,%ecx
44b64e:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b654:	83 c7 02             	add    $0x2,%edi
44b657:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b65a:	8b c1                	mov    %ecx,%eax
44b65c:	99                   	cltd
44b65d:	83 e2 7f             	and    $0x7f,%edx
44b660:	03 c2                	add    %edx,%eax
44b662:	c1 f8 07             	sar    $0x7,%eax
44b665:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b66c:	c1 e0 07             	shl    $0x7,%eax
44b66f:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b675:	79 05                	jns    0x44b67c
44b677:	49                   	dec    %ecx
44b678:	83 c9 80             	or     $0xffffff80,%ecx
44b67b:	41                   	inc    %ecx
44b67c:	03 c1                	add    %ecx,%eax
44b67e:	33 c9                	xor    %ecx,%ecx
44b680:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b687:	00
44b688:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b68f:	00
44b690:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
44b693:	0f 94 c1             	sete   %cl
44b696:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44b699:	0f 84 bf 99 fc ff    	je     0x41505e
44b69f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b6a2:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b6a5:	41                   	inc    %ecx
44b6a6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b6a9:	3b ca                	cmp    %edx,%ecx
44b6ab:	0f 8e 64 ff ff ff    	jle    0x44b615
44b6b1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b6b4:	e9 ef 04 00 00       	jmp    0x44bba8
44b6b9:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b6bc:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b6c3:	83 fa 01             	cmp    $0x1,%edx
44b6c6:	0f 8c 00 9a fc ff    	jl     0x4150cc
44b6cc:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b6cf:	0f 83 91 31 00 00    	jae    0x44e866
44b6d5:	0f b7 0f             	movzwl (%edi),%ecx
44b6d8:	83 c7 02             	add    $0x2,%edi
44b6db:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b6df:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b6e2:	74 2d                	je     0x44b711
44b6e4:	8b c1                	mov    %ecx,%eax
44b6e6:	25 00 fc 00 00       	and    $0xfc00,%eax
44b6eb:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b6f0:	75 1f                	jne    0x44b711
44b6f2:	0f b7 07             	movzwl (%edi),%eax
44b6f5:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b6fb:	c1 e1 0a             	shl    $0xa,%ecx
44b6fe:	25 ff 03 00 00       	and    $0x3ff,%eax
44b703:	0b c8                	or     %eax,%ecx
44b705:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b70b:	83 c7 02             	add    $0x2,%edi
44b70e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b711:	8b c1                	mov    %ecx,%eax
44b713:	99                   	cltd
44b714:	83 e2 7f             	and    $0x7f,%edx
44b717:	03 c2                	add    %edx,%eax
44b719:	c1 f8 07             	sar    $0x7,%eax
44b71c:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b723:	c1 e0 07             	shl    $0x7,%eax
44b726:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b72c:	79 05                	jns    0x44b733
44b72e:	49                   	dec    %ecx
44b72f:	83 c9 80             	or     $0xffffff80,%ecx
44b732:	41                   	inc    %ecx
44b733:	03 c1                	add    %ecx,%eax
44b735:	33 c9                	xor    %ecx,%ecx
44b737:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b73e:	00
44b73f:	0f b6 04 c5 50 2f 4a 	movzbl 0x4a2f50(,%eax,8),%eax
44b746:	00
44b747:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
44b74a:	0f 94 c1             	sete   %cl
44b74d:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
44b750:	0f 84 08 99 fc ff    	je     0x41505e
44b756:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b759:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b75c:	41                   	inc    %ecx
44b75d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b760:	3b ca                	cmp    %edx,%ecx
44b762:	0f 8e 64 ff ff ff    	jle    0x44b6cc
44b768:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b76b:	e9 38 04 00 00       	jmp    0x44bba8
44b770:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b773:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b77a:	83 fa 01             	cmp    $0x1,%edx
44b77d:	0f 8c 49 99 fc ff    	jl     0x4150cc
44b783:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b786:	0f 83 da 30 00 00    	jae    0x44e866
44b78c:	0f b7 0f             	movzwl (%edi),%ecx
44b78f:	83 c7 02             	add    $0x2,%edi
44b792:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44b796:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b799:	74 2d                	je     0x44b7c8
44b79b:	8b c1                	mov    %ecx,%eax
44b79d:	25 00 fc 00 00       	and    $0xfc00,%eax
44b7a2:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b7a7:	75 1f                	jne    0x44b7c8
44b7a9:	0f b7 07             	movzwl (%edi),%eax
44b7ac:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b7b2:	c1 e1 0a             	shl    $0xa,%ecx
44b7b5:	25 ff 03 00 00       	and    $0x3ff,%eax
44b7ba:	0b c8                	or     %eax,%ecx
44b7bc:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b7c2:	83 c7 02             	add    $0x2,%edi
44b7c5:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b7c8:	8b c1                	mov    %ecx,%eax
44b7ca:	99                   	cltd
44b7cb:	83 e2 7f             	and    $0x7f,%edx
44b7ce:	03 c2                	add    %edx,%eax
44b7d0:	c1 f8 07             	sar    $0x7,%eax
44b7d3:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
44b7da:	c1 e0 07             	shl    $0x7,%eax
44b7dd:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44b7e3:	79 05                	jns    0x44b7ea
44b7e5:	49                   	dec    %ecx
44b7e6:	83 c9 80             	or     $0xffffff80,%ecx
44b7e9:	41                   	inc    %ecx
44b7ea:	03 c1                	add    %ecx,%eax
44b7ec:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44b7f3:	00
44b7f4:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
44b7fb:	00
44b7fc:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
44b803:	83 f8 01             	cmp    $0x1,%eax
44b806:	74 09                	je     0x44b811
44b808:	83 f8 03             	cmp    $0x3,%eax
44b80b:	74 04                	je     0x44b811
44b80d:	33 c0                	xor    %eax,%eax
44b80f:	eb 05                	jmp    0x44b816
44b811:	b8 01 00 00 00       	mov    $0x1,%eax
44b816:	3b 45 c8             	cmp    -0x38(%ebp),%eax
44b819:	0f 84 3f 98 fc ff    	je     0x41505e
44b81f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44b822:	8b 55 f4             	mov    -0xc(%ebp),%edx
44b825:	41                   	inc    %ecx
44b826:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44b829:	3b ca                	cmp    %edx,%ecx
44b82b:	0f 8e 52 ff ff ff    	jle    0x44b783
44b831:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44b834:	e9 6f 03 00 00       	jmp    0x44bba8
44b839:	8b 7d f8             	mov    -0x8(%ebp),%edi
44b83c:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
44b843:	83 fa 01             	cmp    $0x1,%edx
44b846:	0f 8c 80 98 fc ff    	jl     0x4150cc
44b84c:	8b 45 dc             	mov    -0x24(%ebp),%eax
44b84f:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44b852:	0f 83 0e 30 00 00    	jae    0x44e866
44b858:	0f b7 0f             	movzwl (%edi),%ecx
44b85b:	83 c7 02             	add    $0x2,%edi
44b85e:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b861:	85 c0                	test   %eax,%eax
44b863:	74 30                	je     0x44b895
44b865:	8b c1                	mov    %ecx,%eax
44b867:	25 00 fc 00 00       	and    $0xfc00,%eax
44b86c:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44b871:	75 1f                	jne    0x44b892
44b873:	0f b7 07             	movzwl (%edi),%eax
44b876:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44b87c:	c1 e1 0a             	shl    $0xa,%ecx
44b87f:	25 ff 03 00 00       	and    $0x3ff,%eax
44b884:	0b c8                	or     %eax,%ecx
44b886:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44b88c:	83 c7 02             	add    $0x2,%edi
44b88f:	89 7d f8             	mov    %edi,-0x8(%ebp)
44b892:	8b 45 dc             	mov    -0x24(%ebp),%eax
44b895:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44b89b:	77 45                	ja     0x44b8e2
44b89d:	0f 84 c7 00 00 00    	je     0x44b96a
44b8a3:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44b8a9:	77 1e                	ja     0x44b8c9
44b8ab:	0f 84 b9 00 00 00    	je     0x44b96a
44b8b1:	83 f9 09             	cmp    $0x9,%ecx
44b8b4:	72 5f                	jb     0x44b915
44b8b6:	83 f9 0d             	cmp    $0xd,%ecx
44b8b9:	0f 86 ab 00 00 00    	jbe    0x44b96a
44b8bf:	83 f9 20             	cmp    $0x20,%ecx
44b8c2:	75 51                	jne    0x44b915
44b8c4:	e9 a1 00 00 00       	jmp    0x44b96a
44b8c9:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44b8cf:	0f 84 95 00 00 00    	je     0x44b96a
44b8d5:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44b8db:	75 38                	jne    0x44b915
44b8dd:	e9 88 00 00 00       	jmp    0x44b96a