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