48a5c0:	0b c8                	or     %eax,%ecx
48a5c2:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48a5c8:	83 c6 02             	add    $0x2,%esi
48a5cb:	8b c1                	mov    %ecx,%eax
48a5cd:	99                   	cltd
48a5ce:	83 e2 7f             	and    $0x7f,%edx
48a5d1:	03 c2                	add    %edx,%eax
48a5d3:	c1 f8 07             	sar    $0x7,%eax
48a5d6:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a5dd:	c1 e0 07             	shl    $0x7,%eax
48a5e0:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48a5e6:	79 05                	jns    0x48a5ed
48a5e8:	49                   	dec    %ecx
48a5e9:	83 c9 80             	or     $0xffffff80,%ecx
48a5ec:	41                   	inc    %ecx
48a5ed:	03 c1                	add    %ecx,%eax
48a5ef:	33 c9                	xor    %ecx,%ecx
48a5f1:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a5f8:	00
48a5f9:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a600:	00
48a601:	3b 45 bc             	cmp    -0x44(%ebp),%eax
48a604:	0f 94 c1             	sete   %cl
48a607:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
48a60a:	0f 84 64 ff f7 ff    	je     0x40a574
48a610:	8b 45 18             	mov    0x18(%ebp),%eax
48a613:	ff 45 f0             	incl   -0x10(%ebp)
48a616:	40                   	inc    %eax
48a617:	50                   	push   %eax
48a618:	ff 75 14             	push   0x14(%ebp)
48a61b:	8b d7                	mov    %edi,%edx
48a61d:	53                   	push   %ebx
48a61e:	ff 75 0c             	push   0xc(%ebp)
48a621:	8b ce                	mov    %esi,%ecx
48a623:	ff 75 08             	push   0x8(%ebp)
48a626:	e8 d5 fc f7 ff       	call   0x40a300
48a62b:	83 c4 14             	add    $0x14,%esp
48a62e:	85 c0                	test   %eax,%eax
48a630:	0f 84 4a ff ff ff    	je     0x48a580
48a636:	e9 8c fe f7 ff       	jmp    0x40a4c7
48a63b:	8b 45 18             	mov    0x18(%ebp),%eax
48a63e:	40                   	inc    %eax
48a63f:	50                   	push   %eax
48a640:	ff 75 14             	push   0x14(%ebp)
48a643:	8b d7                	mov    %edi,%edx
48a645:	53                   	push   %ebx
48a646:	ff 75 0c             	push   0xc(%ebp)
48a649:	ff 75 08             	push   0x8(%ebp)
48a64c:	e8 af fc f7 ff       	call   0x40a300
48a651:	83 c4 14             	add    $0x14,%esp
48a654:	85 c0                	test   %eax,%eax
48a656:	0f 85 6b fe f7 ff    	jne    0x40a4c7
48a65c:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a65f:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a662:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a665:	0f 8d 09 ff f7 ff    	jge    0x40a574
48a66b:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a66e:	0f 83 3e f8 ff ff    	jae    0x489eb2
48a674:	0f b7 0e             	movzwl (%esi),%ecx
48a677:	83 c6 02             	add    $0x2,%esi
48a67a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a67e:	74 2a                	je     0x48a6aa
48a680:	8b c1                	mov    %ecx,%eax
48a682:	25 00 fc 00 00       	and    $0xfc00,%eax
48a687:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a68c:	75 1c                	jne    0x48a6aa
48a68e:	0f b7 06             	movzwl (%esi),%eax
48a691:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48a697:	c1 e1 0a             	shl    $0xa,%ecx
48a69a:	25 ff 03 00 00       	and    $0x3ff,%eax
48a69f:	0b c8                	or     %eax,%ecx
48a6a1:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48a6a7:	83 c6 02             	add    $0x2,%esi
48a6aa:	8b c1                	mov    %ecx,%eax
48a6ac:	99                   	cltd
48a6ad:	83 e2 7f             	and    $0x7f,%edx
48a6b0:	03 c2                	add    %edx,%eax
48a6b2:	c1 f8 07             	sar    $0x7,%eax
48a6b5:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a6bc:	c1 e0 07             	shl    $0x7,%eax
48a6bf:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48a6c5:	79 05                	jns    0x48a6cc
48a6c7:	49                   	dec    %ecx
48a6c8:	83 c9 80             	or     $0xffffff80,%ecx
48a6cb:	41                   	inc    %ecx
48a6cc:	03 c1                	add    %ecx,%eax
48a6ce:	33 c9                	xor    %ecx,%ecx
48a6d0:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a6d7:	00
48a6d8:	0f b6 04 c5 08 b1 4a 	movzbl 0x4ab108(,%eax,8),%eax
48a6df:	00
48a6e0:	3b 45 bc             	cmp    -0x44(%ebp),%eax
48a6e3:	0f 94 c1             	sete   %cl
48a6e6:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
48a6e9:	0f 84 85 fe f7 ff    	je     0x40a574
48a6ef:	8b 45 18             	mov    0x18(%ebp),%eax
48a6f2:	ff 45 f0             	incl   -0x10(%ebp)
48a6f5:	40                   	inc    %eax
48a6f6:	50                   	push   %eax
48a6f7:	ff 75 14             	push   0x14(%ebp)
48a6fa:	8b d7                	mov    %edi,%edx
48a6fc:	53                   	push   %ebx
48a6fd:	ff 75 0c             	push   0xc(%ebp)
48a700:	8b ce                	mov    %esi,%ecx
48a702:	ff 75 08             	push   0x8(%ebp)
48a705:	e8 f6 fb f7 ff       	call   0x40a300
48a70a:	83 c4 14             	add    $0x14,%esp
48a70d:	85 c0                	test   %eax,%eax
48a70f:	0f 84 4a ff ff ff    	je     0x48a65f
48a715:	e9 ad fd f7 ff       	jmp    0x40a4c7
48a71a:	8b 45 18             	mov    0x18(%ebp),%eax
48a71d:	8b 75 08             	mov    0x8(%ebp),%esi
48a720:	40                   	inc    %eax
48a721:	50                   	push   %eax
48a722:	ff 75 14             	push   0x14(%ebp)
48a725:	8b d7                	mov    %edi,%edx
48a727:	53                   	push   %ebx
48a728:	ff 75 0c             	push   0xc(%ebp)
48a72b:	56                   	push   %esi
48a72c:	e8 cf fb f7 ff       	call   0x40a300
48a731:	83 c4 14             	add    $0x14,%esp
48a734:	85 c0                	test   %eax,%eax
48a736:	0f 85 8b fd f7 ff    	jne    0x40a4c7
48a73c:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a73f:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a742:	0f 8d 2c fe f7 ff    	jge    0x40a574
48a748:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48a74b:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48a74e:	0f 83 03 f6 ff ff    	jae    0x489d57
48a754:	0f b7 11             	movzwl (%ecx),%edx
48a757:	83 c1 02             	add    $0x2,%ecx
48a75a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a75e:	89 55 f4             	mov    %edx,-0xc(%ebp)
48a761:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a764:	74 30                	je     0x48a796
48a766:	8b c2                	mov    %edx,%eax
48a768:	25 00 fc 00 00       	and    $0xfc00,%eax
48a76d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a772:	75 22                	jne    0x48a796
48a774:	0f b7 01             	movzwl (%ecx),%eax
48a777:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48a77d:	c1 e2 0a             	shl    $0xa,%edx
48a780:	25 ff 03 00 00       	and    $0x3ff,%eax
48a785:	0b d0                	or     %eax,%edx
48a787:	81 c2 00 00 01 00    	add    $0x10000,%edx
48a78d:	83 c1 02             	add    $0x2,%ecx
48a790:	89 55 f4             	mov    %edx,-0xc(%ebp)
48a793:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a796:	8b c2                	mov    %edx,%eax
48a798:	99                   	cltd
48a799:	83 e2 7f             	and    $0x7f,%edx
48a79c:	03 c2                	add    %edx,%eax
48a79e:	8b 55 f4             	mov    -0xc(%ebp),%edx
48a7a1:	c1 f8 07             	sar    $0x7,%eax
48a7a4:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a7ab:	c1 e0 07             	shl    $0x7,%eax
48a7ae:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
48a7b4:	79 05                	jns    0x48a7bb
48a7b6:	4a                   	dec    %edx
48a7b7:	83 ca 80             	or     $0xffffff80,%edx
48a7ba:	42                   	inc    %edx
48a7bb:	03 c2                	add    %edx,%eax
48a7bd:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a7c4:	00
48a7c5:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a7cc:	00
48a7cd:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
48a7d4:	83 f8 01             	cmp    $0x1,%eax
48a7d7:	74 09                	je     0x48a7e2
48a7d9:	83 f8 03             	cmp    $0x3,%eax
48a7dc:	74 04                	je     0x48a7e2
48a7de:	33 c0                	xor    %eax,%eax
48a7e0:	eb 05                	jmp    0x48a7e7
48a7e2:	b8 01 00 00 00       	mov    $0x1,%eax
48a7e7:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
48a7ea:	0f 84 84 fd f7 ff    	je     0x40a574
48a7f0:	8b 45 18             	mov    0x18(%ebp),%eax
48a7f3:	ff 45 f0             	incl   -0x10(%ebp)
48a7f6:	40                   	inc    %eax
48a7f7:	50                   	push   %eax
48a7f8:	ff 75 14             	push   0x14(%ebp)
48a7fb:	8b d7                	mov    %edi,%edx
48a7fd:	53                   	push   %ebx
48a7fe:	ff 75 0c             	push   0xc(%ebp)
48a801:	56                   	push   %esi
48a802:	e8 f9 fa f7 ff       	call   0x40a300
48a807:	83 c4 14             	add    $0x14,%esp
48a80a:	85 c0                	test   %eax,%eax
48a80c:	0f 84 2a ff ff ff    	je     0x48a73c
48a812:	e9 b0 fc f7 ff       	jmp    0x40a4c7
48a817:	8b 45 18             	mov    0x18(%ebp),%eax
48a81a:	40                   	inc    %eax
48a81b:	50                   	push   %eax
48a81c:	ff 75 14             	push   0x14(%ebp)
48a81f:	8b d7                	mov    %edi,%edx
48a821:	53                   	push   %ebx
48a822:	ff 75 0c             	push   0xc(%ebp)
48a825:	ff 75 08             	push   0x8(%ebp)
48a828:	e8 d3 fa f7 ff       	call   0x40a300
48a82d:	83 c4 14             	add    $0x14,%esp
48a830:	85 c0                	test   %eax,%eax
48a832:	0f 85 8f fc f7 ff    	jne    0x40a4c7
48a838:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a83b:	8b 45 f0             	mov    -0x10(%ebp),%eax
48a83e:	3b 45 dc             	cmp    -0x24(%ebp),%eax
48a841:	0f 8d 2d fd f7 ff    	jge    0x40a574
48a847:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a84a:	0f 83 62 f6 ff ff    	jae    0x489eb2
48a850:	0f b7 0e             	movzwl (%esi),%ecx
48a853:	83 c6 02             	add    $0x2,%esi
48a856:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a85a:	74 2d                	je     0x48a889
48a85c:	8b c1                	mov    %ecx,%eax
48a85e:	25 00 fc 00 00       	and    $0xfc00,%eax
48a863:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a868:	75 1c                	jne    0x48a886
48a86a:	0f b7 06             	movzwl (%esi),%eax
48a86d:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48a873:	c1 e1 0a             	shl    $0xa,%ecx
48a876:	25 ff 03 00 00       	and    $0x3ff,%eax
48a87b:	0b c8                	or     %eax,%ecx
48a87d:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48a883:	83 c6 02             	add    $0x2,%esi
48a886:	8b 45 f0             	mov    -0x10(%ebp),%eax
48a889:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
48a88f:	77 45                	ja     0x48a8d6
48a891:	0f 84 c4 00 00 00    	je     0x48a95b
48a897:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
48a89d:	77 1e                	ja     0x48a8bd
48a89f:	0f 84 b6 00 00 00    	je     0x48a95b
48a8a5:	83 f9 09             	cmp    $0x9,%ecx
48a8a8:	72 5f                	jb     0x48a909
48a8aa:	83 f9 0d             	cmp    $0xd,%ecx
48a8ad:	0f 86 a8 00 00 00    	jbe    0x48a95b
48a8b3:	83 f9 20             	cmp    $0x20,%ecx
48a8b6:	75 51                	jne    0x48a909
48a8b8:	e9 9e 00 00 00       	jmp    0x48a95b
48a8bd:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
48a8c3:	0f 84 92 00 00 00    	je     0x48a95b
48a8c9:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
48a8cf:	75 38                	jne    0x48a909
48a8d1:	e9 85 00 00 00       	jmp    0x48a95b
48a8d6:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
48a8dc:	77 1b                	ja     0x48a8f9
48a8de:	74 7b                	je     0x48a95b
48a8e0:	8d 81 00 e0 ff ff    	lea    -0x2000(%ecx),%eax
48a8e6:	83 f8 29             	cmp    $0x29,%eax
48a8e9:	77 1e                	ja     0x48a909
48a8eb:	0f b6 80 12 bb 48 00 	movzbl 0x48bb12(%eax),%eax
48a8f2:	ff 24 85 0a bb 48 00 	jmp    *0x48bb0a(,%eax,4)
48a8f9:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
48a8ff:	74 5a                	je     0x48a95b
48a901:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
48a907:	74 52                	je     0x48a95b
48a909:	8b c1                	mov    %ecx,%eax
48a90b:	99                   	cltd
48a90c:	83 e2 7f             	and    $0x7f,%edx
48a90f:	03 c2                	add    %edx,%eax
48a911:	c1 f8 07             	sar    $0x7,%eax
48a914:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a91b:	c1 e0 07             	shl    $0x7,%eax
48a91e:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48a924:	79 05                	jns    0x48a92b
48a926:	49                   	dec    %ecx
48a927:	83 c9 80             	or     $0xffffff80,%ecx
48a92a:	41                   	inc    %ecx
48a92b:	03 c1                	add    %ecx,%eax
48a92d:	33 c9                	xor    %ecx,%ecx
48a92f:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a936:	00
48a937:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a93e:	00
48a93f:	83 3c 85 80 61 4b 00 	cmpl   $0x6,0x4b6180(,%eax,4)
48a946:	06
48a947:	0f 94 c1             	sete   %cl
48a94a:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
48a94d:	0f 84 21 fc f7 ff    	je     0x40a574
48a953:	8b 45 f0             	mov    -0x10(%ebp),%eax
48a956:	eb 0d                	jmp    0x48a965
48a958:	8b 45 f0             	mov    -0x10(%ebp),%eax
48a95b:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
48a95f:	0f 85 0f fc f7 ff    	jne    0x40a574
48a965:	40                   	inc    %eax
48a966:	89 45 f0             	mov    %eax,-0x10(%ebp)
48a969:	8b 45 18             	mov    0x18(%ebp),%eax
48a96c:	40                   	inc    %eax
48a96d:	50                   	push   %eax
48a96e:	ff 75 14             	push   0x14(%ebp)
48a971:	8b d7                	mov    %edi,%edx
48a973:	53                   	push   %ebx
48a974:	ff 75 0c             	push   0xc(%ebp)
48a977:	8b ce                	mov    %esi,%ecx
48a979:	ff 75 08             	push   0x8(%ebp)
48a97c:	e8 7f f9 f7 ff       	call   0x40a300
48a981:	83 c4 14             	add    $0x14,%esp
48a984:	85 c0                	test   %eax,%eax
48a986:	0f 84 af fe ff ff    	je     0x48a83b
48a98c:	e9 36 fb f7 ff       	jmp    0x40a4c7
48a991:	8b 45 18             	mov    0x18(%ebp),%eax
48a994:	40                   	inc    %eax
48a995:	50                   	push   %eax
48a996:	ff 75 14             	push   0x14(%ebp)
48a999:	8b d7                	mov    %edi,%edx
48a99b:	53                   	push   %ebx
48a99c:	ff 75 0c             	push   0xc(%ebp)
48a99f:	ff 75 08             	push   0x8(%ebp)
48a9a2:	e8 59 f9 f7 ff       	call   0x40a300
48a9a7:	83 c4 14             	add    $0x14,%esp
48a9aa:	85 c0                	test   %eax,%eax
48a9ac:	0f 85 15 fb f7 ff    	jne    0x40a4c7
48a9b2:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a9b5:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a9b8:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a9bb:	0f 8d b3 fb f7 ff    	jge    0x40a574
48a9c1:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a9c4:	0f 83 e8 f4 ff ff    	jae    0x489eb2
48a9ca:	0f b7 0e             	movzwl (%esi),%ecx
48a9cd:	83 c6 02             	add    $0x2,%esi
48a9d0:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a9d4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48a9d7:	74 2d                	je     0x48aa06
48a9d9:	8b c1                	mov    %ecx,%eax
48a9db:	25 00 fc 00 00       	and    $0xfc00,%eax
48a9e0:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a9e5:	75 1f                	jne    0x48aa06
48a9e7:	0f b7 06             	movzwl (%esi),%eax
48a9ea:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48a9f0:	c1 e1 0a             	shl    $0xa,%ecx
48a9f3:	25 ff 03 00 00       	and    $0x3ff,%eax
48a9f8:	0b c8                	or     %eax,%ecx
48a9fa:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48aa00:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48aa03:	83 c6 02             	add    $0x2,%esi
48aa06:	8b c1                	mov    %ecx,%eax
48aa08:	99                   	cltd
48aa09:	83 e2 7f             	and    $0x7f,%edx
48aa0c:	03 c2                	add    %edx,%eax
48aa0e:	8b 55 f4             	mov    -0xc(%ebp),%edx
48aa11:	c1 f8 07             	sar    $0x7,%eax
48aa14:	0f b6 88 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%ecx
48aa1b:	8b c2                	mov    %edx,%eax
48aa1d:	c1 e1 07             	shl    $0x7,%ecx
48aa20:	25 7f 00 00 80       	and    $0x8000007f,%eax
48aa25:	79 05                	jns    0x48aa2c
48aa27:	48                   	dec    %eax
48aa28:	83 c8 80             	or     $0xffffff80,%eax
48aa2b:	40                   	inc    %eax
48aa2c:	03 c8                	add    %eax,%ecx
48aa2e:	0f b7 04 4d 08 e6 49 	movzwl 0x49e608(,%ecx,2),%eax
48aa35:	00