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
48ac5a:	50                   	push   %eax
48ac5b:	ff 75 14             	push   0x14(%ebp)
48ac5e:	53                   	push   %ebx
48ac5f:	ff 75 0c             	push   0xc(%ebp)
48ac62:	ff 75 08             	push   0x8(%ebp)
48ac65:	e8 96 f6 f7 ff       	call   0x40a300
48ac6a:	83 c4 14             	add    $0x14,%esp
48ac6d:	85 c0                	test   %eax,%eax
48ac6f:	0f 85 52 f8 f7 ff    	jne    0x40a4c7
48ac75:	8b 75 f8             	mov    -0x8(%ebp),%esi
48ac78:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48ac7b:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
48ac7e:	0f 8d f0 f8 f7 ff    	jge    0x40a574
48ac84:	8b 43 7c             	mov    0x7c(%ebx),%eax
48ac87:	89 45 d4             	mov    %eax,-0x2c(%ebp)
48ac8a:	3b f0                	cmp    %eax,%esi
48ac8c:	0f 83 20 f2 ff ff    	jae    0x489eb2
48ac92:	0f b7 16             	movzwl (%esi),%edx
48ac95:	83 c6 02             	add    $0x2,%esi
48ac98:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48ac9c:	89 55 f4             	mov    %edx,-0xc(%ebp)
48ac9f:	74 2d                	je     0x48acce
48aca1:	8b c2                	mov    %edx,%eax
48aca3:	25 00 fc 00 00       	and    $0xfc00,%eax
48aca8:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48acad:	75 1f                	jne    0x48acce
48acaf:	0f b7 06             	movzwl (%esi),%eax
48acb2:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48acb8:	c1 e2 0a             	shl    $0xa,%edx
48acbb:	25 ff 03 00 00       	and    $0x3ff,%eax
48acc0:	0b d0                	or     %eax,%edx
48acc2:	81 c2 00 00 01 00    	add    $0x10000,%edx
48acc8:	89 55 f4             	mov    %edx,-0xc(%ebp)
48accb:	83 c6 02             	add    $0x2,%esi
48acce:	8b c2                	mov    %edx,%eax
48acd0:	99                   	cltd
48acd1:	83 e2 7f             	and    $0x7f,%edx
48acd4:	03 c2                	add    %edx,%eax
48acd6:	8b 55 f4             	mov    -0xc(%ebp),%edx
48acd9:	c1 f8 07             	sar    $0x7,%eax
48acdc:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48ace3:	c1 e0 07             	shl    $0x7,%eax
48ace6:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
48acec:	79 05                	jns    0x48acf3
48acee:	4a                   	dec    %edx
48acef:	83 ca 80             	or     $0xffffff80,%edx
48acf2:	42                   	inc    %edx
48acf3:	03 c2                	add    %edx,%eax
48acf5:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48acfc:	00
48acfd:	0f b6 14 c5 0a b1 4a 	movzbl 0x4ab10a(,%eax,8),%edx
48ad04:	00
48ad05:	8b 43 7c             	mov    0x7c(%ebx),%eax
48ad08:	89 55 f4             	mov    %edx,-0xc(%ebp)
48ad0b:	3b f0                	cmp    %eax,%esi
48ad0d:	0f 83 a7 00 00 00    	jae    0x48adba
48ad13:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
48ad16:	8b fa                	mov    %edx,%edi
48ad18:	0f b7 0e             	movzwl (%esi),%ecx
48ad1b:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
48ad22:	85 db                	test   %ebx,%ebx
48ad24:	74 2f                	je     0x48ad55
48ad26:	8b c1                	mov    %ecx,%eax
48ad28:	25 00 fc 00 00       	and    $0xfc00,%eax
48ad2d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48ad32:	75 21                	jne    0x48ad55
48ad34:	0f b7 46 02          	movzwl 0x2(%esi),%eax
48ad38:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48ad3e:	25 ff 03 00 00       	and    $0x3ff,%eax
48ad43:	c1 e1 0a             	shl    $0xa,%ecx
48ad46:	0b c8                	or     %eax,%ecx
48ad48:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48ad4e:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
48ad55:	8b c1                	mov    %ecx,%eax
48ad57:	99                   	cltd
48ad58:	83 e2 7f             	and    $0x7f,%edx
48ad5b:	03 c2                	add    %edx,%eax
48ad5d:	c1 f8 07             	sar    $0x7,%eax
48ad60:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48ad67:	c1 e0 07             	shl    $0x7,%eax
48ad6a:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48ad70:	79 05                	jns    0x48ad77
48ad72:	49                   	dec    %ecx
48ad73:	83 c9 80             	or     $0xffffff80,%ecx
48ad76:	41                   	inc    %ecx
48ad77:	03 c1                	add    %ecx,%eax
48ad79:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48ad80:	00
48ad81:	0f b6 0c c5 0a b1 4a 	movzbl 0x4ab10a(,%eax,8),%ecx
48ad88:	00
48ad89:	b8 01 00 00 00       	mov    $0x1,%eax
48ad8e:	d3 e0                	shl    %cl,%eax
48ad90:	85 04 bd 2c e5 49 00 	test   %eax,0x49e52c(,%edi,4)
48ad97:	74 15                	je     0x48adae
48ad99:	8b 45 f4             	mov    -0xc(%ebp),%eax
48ad9c:	8b f9                	mov    %ecx,%edi
48ad9e:	8d 34 46             	lea    (%esi,%eax,2),%esi
48ada1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
48ada4:	3b f0                	cmp    %eax,%esi
48ada6:	0f 82 6c ff ff ff    	jb     0x48ad18
48adac:	eb 03                	jmp    0x48adb1
48adae:	8b 45 d4             	mov    -0x2c(%ebp),%eax
48adb1:	8b 5d 10             	mov    0x10(%ebp),%ebx
48adb4:	8b 7d cc             	mov    -0x34(%ebp),%edi
48adb7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48adba:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
48adc1:	74 20                	je     0x48ade3
48adc3:	3b f0                	cmp    %eax,%esi
48adc5:	72 1c                	jb     0x48ade3
48adc7:	3b b3 88 00 00 00    	cmp    0x88(%ebx),%esi
48adcd:	76 14                	jbe    0x48ade3
48adcf:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
48add6:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
48addd:	0f 8f 4a 93 ff ff    	jg     0x48412d
48ade3:	8b 45 18             	mov    0x18(%ebp),%eax
48ade6:	40                   	inc    %eax
48ade7:	50                   	push   %eax
48ade8:	ff 75 14             	push   0x14(%ebp)
48adeb:	41                   	inc    %ecx
48adec:	53                   	push   %ebx
48aded:	ff 75 0c             	push   0xc(%ebp)
48adf0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
48adf3:	ff 75 08             	push   0x8(%ebp)
48adf6:	8b d7                	mov    %edi,%edx
48adf8:	8b ce                	mov    %esi,%ecx
48adfa:	e8 01 f5 f7 ff       	call   0x40a300
48adff:	83 c4 14             	add    $0x14,%esp
48ae02:	85 c0                	test   %eax,%eax
48ae04:	0f 84 6e fe ff ff    	je     0x48ac78
48ae0a:	e9 b8 f6 f7 ff       	jmp    0x40a4c7
48ae0f:	8b 43 1c             	mov    0x1c(%ebx),%eax
48ae12:	03 c0                	add    %eax,%eax
48ae14:	2b d0                	sub    %eax,%edx
48ae16:	3b f2                	cmp    %edx,%esi
48ae18:	0f 87 19 fd f7 ff    	ja     0x40ab37
48ae1e:	66 8b 06             	mov    (%esi),%ax
48ae21:	66 3b 43 34          	cmp    0x34(%ebx),%ax
48ae25:	0f 85 0c fd f7 ff    	jne    0x40ab37
48ae2b:	83 7b 1c 01          	cmpl   $0x1,0x1c(%ebx)
48ae2f:	0f 84 3f f7 f7 ff    	je     0x40a574
48ae35:	66 8b 46 02          	mov    0x2(%esi),%ax
48ae39:	66 3b 43 36          	cmp    0x36(%ebx),%ax
48ae3d:	0f 84 31 f7 f7 ff    	je     0x40a574
48ae43:	e9 ef fc f7 ff       	jmp    0x40ab37
48ae48:	0f b7 06             	movzwl (%esi),%eax
48ae4b:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48ae51:	c1 e2 0a             	shl    $0xa,%edx
48ae54:	25 ff 03 00 00       	and    $0x3ff,%eax
48ae59:	0b d0                	or     %eax,%edx
48ae5b:	81 c2 00 00 01 00    	add    $0x10000,%edx
48ae61:	83 c6 02             	add    $0x2,%esi
48ae64:	e9 e6 fc f7 ff       	jmp    0x40ab4f
48ae69:	83 c0 fa             	add    $0xfffffffa,%eax
48ae6c:	83 f8 0f             	cmp    $0xf,%eax
48ae6f:	0f 87 a2 ec ff ff    	ja     0x489b17
48ae75:	ff 24 85 3e bb 48 00 	jmp    *0x48bb3e(,%eax,4)
48ae7c:	83 fa 0d             	cmp    $0xd,%edx
48ae7f:	77 34                	ja     0x48aeb5
48ae81:	74 17                	je     0x48ae9a
48ae83:	83 fa 0a             	cmp    $0xa,%edx
48ae86:	0f 84 dc fc f7 ff    	je     0x40ab68
48ae8c:	8d 42 f5             	lea    -0xb(%edx),%eax
48ae8f:	83 f8 01             	cmp    $0x1,%eax
48ae92:	0f 87 dc f6 f7 ff    	ja     0x40a574
48ae98:	eb 32                	jmp    0x48aecc
48ae9a:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48ae9d:	0f 83 c5 fc f7 ff    	jae    0x40ab68
48aea3:	66 83 3e 0a          	cmpw   $0xa,(%esi)
48aea7:	0f 85 bb fc f7 ff    	jne    0x40ab68
48aead:	83 c6 02             	add    $0x2,%esi
48aeb0:	e9 b3 fc f7 ff       	jmp    0x40ab68
48aeb5:	81 fa 85 00 00 00    	cmp    $0x85,%edx
48aebb:	74 0f                	je     0x48aecc
48aebd:	8d 82 d8 df ff ff    	lea    -0x2028(%edx),%eax
48aec3:	83 f8 01             	cmp    $0x1,%eax