48ec6e:	33 d2                	xor    %edx,%edx
48ec70:	66 3b 4d f4          	cmp    -0xc(%ebp),%cx
48ec74:	0f b7 0b             	movzwl (%ebx),%ecx
48ec77:	0f 94 c2             	sete   %dl
48ec7a:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
48ec81:	00
48ec82:	83 f9 0d             	cmp    $0xd,%ecx
48ec85:	0f 87 60 02 00 00    	ja     0x48eeeb
48ec8b:	ff 24 8d f2 ee 48 00 	jmp    *0x48eef2(,%ecx,4)
48ec92:	85 d2                	test   %edx,%edx
48ec94:	0f 85 a6 fe ff ff    	jne    0x48eb40
48ec9a:	e9 e1 01 00 00       	jmp    0x48ee80
48ec9f:	8a 04 c5 51 2f 4a 00 	mov    0x4a2f51(,%eax,8),%al
48eca6:	3c 09                	cmp    $0x9,%al
48eca8:	0f 84 c7 01 00 00    	je     0x48ee75
48ecae:	3c 05                	cmp    $0x5,%al
48ecb0:	0f 84 bf 01 00 00    	je     0x48ee75
48ecb6:	3c 08                	cmp    $0x8,%al
48ecb8:	e9 28 02 00 00       	jmp    0x48eee5
48ecbd:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
48ecc4:	00
48ecc5:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
48ecc9:	2b 0c 85 a0 89 4b 00 	sub    0x4b89a0(,%eax,4),%ecx
48ecd0:	f7 d9                	neg    %ecx
48ecd2:	1b c9                	sbb    %ecx,%ecx
48ecd4:	41                   	inc    %ecx
48ecd5:	3b ca                	cmp    %edx,%ecx
48ecd7:	e9 9e 01 00 00       	jmp    0x48ee7a
48ecdc:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
48ece3:	00
48ece4:	33 c9                	xor    %ecx,%ecx
48ece6:	66 39 43 02          	cmp    %ax,0x2(%ebx)
48ecea:	0f 94 c1             	sete   %cl
48eced:	eb e6                	jmp    0x48ecd5
48ecef:	0f b6 04 c5 50 2f 4a 	movzbl 0x4a2f50(,%eax,8),%eax
48ecf6:	00
48ecf7:	eb eb                	jmp    0x48ece4
48ecf9:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
48ed00:	00
48ed01:	33 c9                	xor    %ecx,%ecx
48ed03:	41                   	inc    %ecx
48ed04:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
48ed0b:	3b c1                	cmp    %ecx,%eax
48ed0d:	74 09                	je     0x48ed18
48ed0f:	83 f8 03             	cmp    $0x3,%eax
48ed12:	0f 85 cf 01 00 00    	jne    0x48eee7
48ed18:	8b c1                	mov    %ecx,%eax
48ed1a:	e9 59 01 00 00       	jmp    0x48ee78
48ed1f:	b9 0e 18 00 00       	mov    $0x180e,%ecx
48ed24:	3b f9                	cmp    %ecx,%edi
48ed26:	77 3d                	ja     0x48ed65
48ed28:	0f 84 64 ff ff ff    	je     0x48ec92
48ed2e:	83 ff 09             	cmp    $0x9,%edi
48ed31:	72 7e                	jb     0x48edb1
48ed33:	83 ff 0d             	cmp    $0xd,%edi
48ed36:	0f 86 56 ff ff ff    	jbe    0x48ec92
48ed3c:	83 ff 20             	cmp    $0x20,%edi
48ed3f:	0f 84 4d ff ff ff    	je     0x48ec92
48ed45:	81 ff 85 00 00 00    	cmp    $0x85,%edi
48ed4b:	0f 84 41 ff ff ff    	je     0x48ec92
48ed51:	81 ff a0 00 00 00    	cmp    $0xa0,%edi
48ed57:	0f 84 35 ff ff ff    	je     0x48ec92
48ed5d:	81 ff 80 16 00 00    	cmp    $0x1680,%edi
48ed63:	eb 46                	jmp    0x48edab
48ed65:	81 ff 00 20 00 00    	cmp    $0x2000,%edi
48ed6b:	72 44                	jb     0x48edb1
48ed6d:	81 ff 0a 20 00 00    	cmp    $0x200a,%edi
48ed73:	0f 86 19 ff ff ff    	jbe    0x48ec92
48ed79:	81 ff 27 20 00 00    	cmp    $0x2027,%edi
48ed7f:	76 30                	jbe    0x48edb1
48ed81:	81 ff 29 20 00 00    	cmp    $0x2029,%edi
48ed87:	0f 86 05 ff ff ff    	jbe    0x48ec92
48ed8d:	81 ff 2f 20 00 00    	cmp    $0x202f,%edi
48ed93:	0f 84 f9 fe ff ff    	je     0x48ec92
48ed99:	81 ff 5f 20 00 00    	cmp    $0x205f,%edi
48ed9f:	0f 84 ed fe ff ff    	je     0x48ec92
48eda5:	81 ff 00 30 00 00    	cmp    $0x3000,%edi
48edab:	0f 84 e1 fe ff ff    	je     0x48ec92
48edb1:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
48edb8:	00
48edb9:	33 c9                	xor    %ecx,%ecx
48edbb:	83 3c 85 a0 89 4b 00 	cmpl   $0x6,0x4b89a0(,%eax,4)
48edc2:	06
48edc3:	e9 22 ff ff ff       	jmp    0x48ecea
48edc8:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
48edcf:	00
48edd0:	33 c9                	xor    %ecx,%ecx
48edd2:	41                   	inc    %ecx
48edd3:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
48edda:	3b c1                	cmp    %ecx,%eax
48eddc:	0f 84 36 ff ff ff    	je     0x48ed18
48ede2:	83 f8 03             	cmp    $0x3,%eax
48ede5:	0f 84 2d ff ff ff    	je     0x48ed18
48edeb:	83 ff 5f             	cmp    $0x5f,%edi
48edee:	0f 84 24 ff ff ff    	je     0x48ed18
48edf4:	e9 ee 00 00 00       	jmp    0x48eee7
48edf9:	81 ff a0 00 00 00    	cmp    $0xa0,%edi
48edff:	73 12                	jae    0x48ee13
48ee01:	83 ff 24             	cmp    $0x24,%edi
48ee04:	74 6f                	je     0x48ee75
48ee06:	83 ff 40             	cmp    $0x40,%edi
48ee09:	74 6a                	je     0x48ee75
48ee0b:	83 ff 60             	cmp    $0x60,%edi
48ee0e:	e9 d2 00 00 00       	jmp    0x48eee5
48ee13:	8d 87 00 28 ff ff    	lea    -0xd800(%edi),%eax
48ee19:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
48ee1e:	3b c8                	cmp    %eax,%ecx
48ee20:	1b c0                	sbb    %eax,%eax
48ee22:	f7 d8                	neg    %eax
48ee24:	eb 52                	jmp    0x48ee78
48ee26:	8a 0c c5 51 2f 4a 00 	mov    0x4a2f51(,%eax,8),%cl
48ee2d:	0f b6 c1             	movzbl %cl,%eax
48ee30:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
48ee37:	83 f8 06             	cmp    $0x6,%eax
48ee3a:	0f 84 a7 00 00 00    	je     0x48eee7
48ee40:	85 c0                	test   %eax,%eax
48ee42:	75 31                	jne    0x48ee75
48ee44:	80 f9 01             	cmp    $0x1,%cl
48ee47:	0f 85 9a 00 00 00    	jne    0x48eee7
48ee4d:	81 ff 1c 06 00 00    	cmp    $0x61c,%edi
48ee53:	0f 84 8e 00 00 00    	je     0x48eee7
48ee59:	81 ff 0e 18 00 00    	cmp    $0x180e,%edi
48ee5f:	0f 84 82 00 00 00    	je     0x48eee7
48ee65:	81 ff 66 20 00 00    	cmp    $0x2066,%edi
48ee6b:	72 08                	jb     0x48ee75
48ee6d:	81 ff 69 20 00 00    	cmp    $0x2069,%edi
48ee73:	76 72                	jbe    0x48eee7
48ee75:	33 c0                	xor    %eax,%eax
48ee77:	40                   	inc    %eax
48ee78:	3b c2                	cmp    %edx,%eax
48ee7a:	0f 84 c0 fc ff ff    	je     0x48eb40
48ee80:	83 c3 04             	add    $0x4,%ebx
48ee83:	8b 55 fc             	mov    -0x4(%ebp),%edx
48ee86:	0f b7 0b             	movzwl (%ebx),%ecx
48ee89:	66 85 c9             	test   %cx,%cx
48ee8c:	0f 85 ef fc ff ff    	jne    0x48eb81
48ee92:	8b c6                	mov    %esi,%eax
48ee94:	5f                   	pop    %edi
48ee95:	5e                   	pop    %esi
48ee96:	5b                   	pop    %ebx
48ee97:	8b e5                	mov    %ebp,%esp
48ee99:	5d                   	pop    %ebp
48ee9a:	c3                   	ret
48ee9b:	8a 0c c5 51 2f 4a 00 	mov    0x4a2f51(,%eax,8),%cl
48eea2:	80 f9 1b             	cmp    $0x1b,%cl
48eea5:	74 40                	je     0x48eee7
48eea7:	80 f9 1c             	cmp    $0x1c,%cl
48eeaa:	74 3b                	je     0x48eee7
48eeac:	0f b6 c1             	movzbl %cl,%eax
48eeaf:	83 3c 85 a0 89 4b 00 	cmpl   $0x0,0x4b89a0(,%eax,4)
48eeb6:	00
48eeb7:	75 bc                	jne    0x48ee75
48eeb9:	80 f9 01             	cmp    $0x1,%cl
48eebc:	75 29                	jne    0x48eee7
48eebe:	81 ff 1c 06 00 00    	cmp    $0x61c,%edi
48eec4:	eb 99                	jmp    0x48ee5f
48eec6:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
48eecd:	00
48eece:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
48eed5:	83 f8 04             	cmp    $0x4,%eax
48eed8:	74 9b                	je     0x48ee75
48eeda:	81 ff 00 01 00 00    	cmp    $0x100,%edi
48eee0:	73 05                	jae    0x48eee7
48eee2:	83 f8 05             	cmp    $0x5,%eax
48eee5:	74 8e                	je     0x48ee75
48eee7:	33 c0                	xor    %eax,%eax
48eee9:	eb 8d                	jmp    0x48ee78
48eeeb:	33 c0                	xor    %eax,%eax
48eeed:	eb a5                	jmp    0x48ee94
48eeef:	8d 49 00             	lea    0x0(%ecx),%ecx
48eef2:	92                   	xchg   %eax,%edx
48eef3:	ec                   	in     (%dx),%al
48eef4:	48                   	dec    %eax
48eef5:	00 9f ec 48 00 bd    	add    %bl,-0x42ffb714(%edi)
48eefb:	ec                   	in     (%dx),%al
48eefc:	48                   	dec    %eax
48eefd:	00 dc                	add    %bl,%ah
48eeff:	ec                   	in     (%dx),%al
48ef00:	48                   	dec    %eax
48ef01:	00 ef                	add    %ch,%bh
48ef03:	ec                   	in     (%dx),%al
48ef04:	48                   	dec    %eax
48ef05:	00 f9                	add    %bh,%cl
48ef07:	ec                   	in     (%dx),%al
48ef08:	48                   	dec    %eax
48ef09:	00 1f                	add    %bl,(%edi)
48ef0b:	ed                   	in     (%dx),%eax
48ef0c:	48                   	dec    %eax
48ef0d:	00 1f                	add    %bl,(%edi)
48ef0f:	ed                   	in     (%dx),%eax
48ef10:	48                   	dec    %eax
48ef11:	00 c8                	add    %cl,%al
48ef13:	ed                   	in     (%dx),%eax
48ef14:	48                   	dec    %eax
48ef15:	00 eb                	add    %ch,%bl
48ef17:	ee                   	out    %al,(%dx)
48ef18:	48                   	dec    %eax
48ef19:	00 f9                	add    %bh,%cl
48ef1b:	ed                   	in     (%dx),%eax
48ef1c:	48                   	dec    %eax
48ef1d:	00 26                	add    %ah,(%esi)
48ef1f:	ee                   	out    %al,(%dx)
48ef20:	48                   	dec    %eax
48ef21:	00 9b ee 48 00 c6    	add    %bl,-0x39ffb712(%ebx)
48ef27:	ee                   	out    %al,(%dx)
48ef28:	48                   	dec    %eax
48ef29:	00 81 f9 ff ff 00    	add    %al,0xfffff9(%ecx)
48ef2f:	00 77 07             	add    %dh,0x7(%edi)
48ef32:	33 c0                	xor    %eax,%eax
48ef34:	66 89 0a             	mov    %cx,(%edx)
48ef37:	40                   	inc    %eax
48ef38:	c3                   	ret
48ef39:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
48ef3f:	8b c1                	mov    %ecx,%eax
48ef41:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48ef47:	c1 e8 0a             	shr    $0xa,%eax
48ef4a:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
48ef50:	0d 00 d8 00 00       	or     $0xd800,%eax
48ef55:	66 89 02             	mov    %ax,(%edx)
48ef58:	6a 02                	push   $0x2
48ef5a:	66 89 4a 02          	mov    %cx,0x2(%edx)
48ef5e:	58                   	pop    %eax
48ef5f:	c3                   	ret
48ef60:	55                   	push   %ebp
48ef61:	8b ec                	mov    %esp,%ebp
48ef63:	53                   	push   %ebx
48ef64:	56                   	push   %esi
48ef65:	57                   	push   %edi
48ef66:	6a 02                	push   $0x2
48ef68:	5f                   	pop    %edi
48ef69:	85 d2                	test   %edx,%edx
48ef6b:	79 14                	jns    0x48ef81
48ef6d:	33 c0                	xor    %eax,%eax
48ef6f:	8b d1                	mov    %ecx,%edx
48ef71:	66 39 01             	cmp    %ax,(%ecx)
48ef74:	74 07                	je     0x48ef7d
48ef76:	03 d7                	add    %edi,%edx
48ef78:	66 39 02             	cmp    %ax,(%edx)
48ef7b:	75 f9                	jne    0x48ef76
48ef7d:	2b d1                	sub    %ecx,%edx
48ef7f:	d1 fa                	sar    $1,%edx
48ef81:	8b f1                	mov    %ecx,%esi
48ef83:	eb 38                	jmp    0x48efbd
48ef85:	0f b7 1e             	movzwl (%esi),%ebx
48ef88:	4a                   	dec    %edx
48ef89:	8b c3                	mov    %ebx,%eax
48ef8b:	25 00 f8 00 00       	and    $0xf800,%eax
48ef90:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48ef95:	75 24                	jne    0x48efbb
48ef97:	f7 c3 00 04 00 00    	test   $0x400,%ebx
48ef9d:	75 2e                	jne    0x48efcd
48ef9f:	85 d2                	test   %edx,%edx
48efa1:	74 25                	je     0x48efc8
48efa3:	03 f7                	add    %edi,%esi
48efa5:	bb 00 fc 00 00       	mov    $0xfc00,%ebx
48efaa:	4a                   	dec    %edx
48efab:	66 8b 06             	mov    (%esi),%ax
48efae:	66 23 c3             	and    %bx,%ax
48efb1:	bb 00 dc 00 00       	mov    $0xdc00,%ebx
48efb6:	66 3b c3             	cmp    %bx,%ax
48efb9:	75 15                	jne    0x48efd0
48efbb:	03 f7                	add    %edi,%esi
48efbd:	85 d2                	test   %edx,%edx
48efbf:	7f c4                	jg     0x48ef85
48efc1:	33 c0                	xor    %eax,%eax
48efc3:	5f                   	pop    %edi
48efc4:	5e                   	pop    %esi
48efc5:	5b                   	pop    %ebx
48efc6:	5d                   	pop    %ebp
48efc7:	c3                   	ret
48efc8:	33 ff                	xor    %edi,%edi
48efca:	47                   	inc    %edi
48efcb:	eb 03                	jmp    0x48efd0
48efcd:	6a 03                	push   $0x3
48efcf:	5f                   	pop    %edi
48efd0:	2b f1                	sub    %ecx,%esi
48efd2:	8b c7                	mov    %edi,%eax
48efd4:	8b 4d 08             	mov    0x8(%ebp),%ecx
48efd7:	d1 fe                	sar    $1,%esi
48efd9:	89 31                	mov    %esi,(%ecx)
48efdb:	eb e6                	jmp    0x48efc3