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
48aa36:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48aa3d:	00
48aa3e:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
48aa45:	83 f8 01             	cmp    $0x1,%eax
48aa48:	74 0e                	je     0x48aa58
48aa4a:	83 f8 03             	cmp    $0x3,%eax
48aa4d:	74 09                	je     0x48aa58
48aa4f:	83 fa 5f             	cmp    $0x5f,%edx
48aa52:	74 04                	je     0x48aa58
48aa54:	33 c0                	xor    %eax,%eax
48aa56:	eb 05                	jmp    0x48aa5d
48aa58:	b8 01 00 00 00       	mov    $0x1,%eax
48aa5d:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
48aa60:	0f 84 0e fb f7 ff    	je     0x40a574
48aa66:	8b 45 18             	mov    0x18(%ebp),%eax
48aa69:	ff 45 f0             	incl   -0x10(%ebp)
48aa6c:	40                   	inc    %eax
48aa6d:	50                   	push   %eax
48aa6e:	ff 75 14             	push   0x14(%ebp)
48aa71:	8b d7                	mov    %edi,%edx
48aa73:	53                   	push   %ebx
48aa74:	ff 75 0c             	push   0xc(%ebp)
48aa77:	8b ce                	mov    %esi,%ecx
48aa79:	ff 75 08             	push   0x8(%ebp)
48aa7c:	e8 7f f8 f7 ff       	call   0x40a300
48aa81:	83 c4 14             	add    $0x14,%esp
48aa84:	85 c0                	test   %eax,%eax
48aa86:	0f 84 29 ff ff ff    	je     0x48a9b5
48aa8c:	e9 36 fa f7 ff       	jmp    0x40a4c7
48aa91:	8b 45 18             	mov    0x18(%ebp),%eax
48aa94:	8b 75 08             	mov    0x8(%ebp),%esi
48aa97:	40                   	inc    %eax
48aa98:	50                   	push   %eax
48aa99:	ff 75 14             	push   0x14(%ebp)
48aa9c:	8b d7                	mov    %edi,%edx
48aa9e:	53                   	push   %ebx
48aa9f:	ff 75 0c             	push   0xc(%ebp)
48aaa2:	56                   	push   %esi
48aaa3:	e8 58 f8 f7 ff       	call   0x40a300
48aaa8:	83 c4 14             	add    $0x14,%esp
48aaab:	85 c0                	test   %eax,%eax
48aaad:	0f 85 14 fa f7 ff    	jne    0x40a4c7
48aab3:	8b 45 f0             	mov    -0x10(%ebp),%eax
48aab6:	3b 45 dc             	cmp    -0x24(%ebp),%eax
48aab9:	0f 8d b5 fa f7 ff    	jge    0x40a574
48aabf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48aac2:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48aac5:	0f 83 8c f2 ff ff    	jae    0x489d57
48aacb:	0f b7 11             	movzwl (%ecx),%edx
48aace:	83 c1 02             	add    $0x2,%ecx
48aad1:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48aad5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48aad8:	74 30                	je     0x48ab0a
48aada:	8b c2                	mov    %edx,%eax
48aadc:	25 00 fc 00 00       	and    $0xfc00,%eax
48aae1:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48aae6:	75 1f                	jne    0x48ab07
48aae8:	0f b7 01             	movzwl (%ecx),%eax
48aaeb:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48aaf1:	c1 e2 0a             	shl    $0xa,%edx
48aaf4:	25 ff 03 00 00       	and    $0x3ff,%eax
48aaf9:	0b d0                	or     %eax,%edx
48aafb:	81 c2 00 00 01 00    	add    $0x10000,%edx
48ab01:	83 c1 02             	add    $0x2,%ecx
48ab04:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48ab07:	8b 45 f0             	mov    -0x10(%ebp),%eax
48ab0a:	8b 75 bc             	mov    -0x44(%ebp),%esi
48ab0d:	8d 34 b5 a0 e6 4a 00 	lea    0x4ae6a0(,%esi,4),%esi
48ab14:	89 75 d4             	mov    %esi,-0x2c(%ebp)
48ab17:	8b 36                	mov    (%esi),%esi
48ab19:	89 75 f4             	mov    %esi,-0xc(%ebp)
48ab1c:	3b d6                	cmp    %esi,%edx
48ab1e:	8b 75 08             	mov    0x8(%ebp),%esi
48ab21:	72 1b                	jb     0x48ab3e
48ab23:	83 45 d4 04          	addl   $0x4,-0x2c(%ebp)
48ab27:	8b 5d 10             	mov    0x10(%ebp),%ebx
48ab2a:	3b 55 f4             	cmp    -0xc(%ebp),%edx
48ab2d:	74 41                	je     0x48ab70
48ab2f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
48ab32:	8b 09                	mov    (%ecx),%ecx
48ab34:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48ab37:	3b d1                	cmp    %ecx,%edx
48ab39:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48ab3c:	73 e5                	jae    0x48ab23
48ab3e:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
48ab42:	0f 84 2c fa f7 ff    	je     0x40a574
48ab48:	40                   	inc    %eax
48ab49:	89 45 f0             	mov    %eax,-0x10(%ebp)
48ab4c:	8b 45 18             	mov    0x18(%ebp),%eax
48ab4f:	40                   	inc    %eax
48ab50:	50                   	push   %eax
48ab51:	ff 75 14             	push   0x14(%ebp)
48ab54:	8b d7                	mov    %edi,%edx
48ab56:	53                   	push   %ebx
48ab57:	ff 75 0c             	push   0xc(%ebp)
48ab5a:	56                   	push   %esi
48ab5b:	e8 a0 f7 f7 ff       	call   0x40a300
48ab60:	83 c4 14             	add    $0x14,%esp
48ab63:	85 c0                	test   %eax,%eax
48ab65:	0f 84 48 ff ff ff    	je     0x48aab3
48ab6b:	e9 57 f9 f7 ff       	jmp    0x40a4c7
48ab70:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
48ab74:	0f 85 fa f9 f7 ff    	jne    0x40a574
48ab7a:	eb cc                	jmp    0x48ab48
48ab7c:	8b 45 18             	mov    0x18(%ebp),%eax
48ab7f:	8b 75 08             	mov    0x8(%ebp),%esi
48ab82:	40                   	inc    %eax
48ab83:	50                   	push   %eax
48ab84:	ff 75 14             	push   0x14(%ebp)
48ab87:	8b d7                	mov    %edi,%edx
48ab89:	53                   	push   %ebx
48ab8a:	ff 75 0c             	push   0xc(%ebp)
48ab8d:	56                   	push   %esi
48ab8e:	e8 6d f7 f7 ff       	call   0x40a300
48ab93:	83 c4 14             	add    $0x14,%esp
48ab96:	85 c0                	test   %eax,%eax
48ab98:	0f 85 29 f9 f7 ff    	jne    0x40a4c7
48ab9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
48aba1:	3b 45 dc             	cmp    -0x24(%ebp),%eax
48aba4:	0f 8d ca f9 f7 ff    	jge    0x40a574
48abaa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48abad:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48abb0:	0f 83 a1 f1 ff ff    	jae    0x489d57
48abb6:	0f b7 11             	movzwl (%ecx),%edx
48abb9:	83 c1 02             	add    $0x2,%ecx
48abbc:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48abc0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48abc3:	74 30                	je     0x48abf5
48abc5:	8b c2                	mov    %edx,%eax
48abc7:	25 00 fc 00 00       	and    $0xfc00,%eax
48abcc:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48abd1:	75 1f                	jne    0x48abf2
48abd3:	0f b7 01             	movzwl (%ecx),%eax
48abd6:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48abdc:	c1 e2 0a             	shl    $0xa,%edx
48abdf:	25 ff 03 00 00       	and    $0x3ff,%eax
48abe4:	0b d0                	or     %eax,%edx
48abe6:	81 c2 00 00 01 00    	add    $0x10000,%edx
48abec:	83 c1 02             	add    $0x2,%ecx
48abef:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48abf2:	8b 45 f0             	mov    -0x10(%ebp),%eax
48abf5:	83 fa 24             	cmp    $0x24,%edx
48abf8:	74 26                	je     0x48ac20
48abfa:	83 fa 40             	cmp    $0x40,%edx
48abfd:	74 21                	je     0x48ac20
48abff:	83 fa 60             	cmp    $0x60,%edx
48ac02:	74 1c                	je     0x48ac20
48ac04:	81 fa a0 00 00 00    	cmp    $0xa0,%edx
48ac0a:	72 08                	jb     0x48ac14
48ac0c:	81 fa ff d7 00 00    	cmp    $0xd7ff,%edx
48ac12:	76 0c                	jbe    0x48ac20
48ac14:	81 fa 00 e0 00 00    	cmp    $0xe000,%edx
48ac1a:	73 04                	jae    0x48ac20
48ac1c:	33 d2                	xor    %edx,%edx
48ac1e:	eb 05                	jmp    0x48ac25
48ac20:	ba 01 00 00 00       	mov    $0x1,%edx
48ac25:	3b 55 c4             	cmp    -0x3c(%ebp),%edx
48ac28:	0f 84 46 f9 f7 ff    	je     0x40a574
48ac2e:	40                   	inc    %eax
48ac2f:	89 45 f0             	mov    %eax,-0x10(%ebp)
48ac32:	8b 45 18             	mov    0x18(%ebp),%eax
48ac35:	40                   	inc    %eax
48ac36:	50                   	push   %eax
48ac37:	ff 75 14             	push   0x14(%ebp)
48ac3a:	8b d7                	mov    %edi,%edx
48ac3c:	53                   	push   %ebx
48ac3d:	ff 75 0c             	push   0xc(%ebp)
48ac40:	56                   	push   %esi
48ac41:	e8 ba f6 f7 ff       	call   0x40a300
48ac46:	83 c4 14             	add    $0x14,%esp
48ac49:	85 c0                	test   %eax,%eax
48ac4b:	0f 84 4d ff ff ff    	je     0x48ab9e
48ac51:	e9 71 f8 f7 ff       	jmp    0x40a4c7
48ac56:	8b 45 18             	mov    0x18(%ebp),%eax
48ac59:	40                   	inc    %eax