47bbc2:	0f b6 07             	movzbl (%edi),%eax
47bbc5:	8b ce                	mov    %esi,%ecx
47bbc7:	50                   	push   %eax
47bbc8:	e8 e4 d4 ff ff       	call   0x4790b1
47bbcd:	6a 05                	push   $0x5
47bbcf:	eb 57                	jmp    0x47bc28
47bbd1:	56                   	push   %esi
47bbd2:	57                   	push   %edi
47bbd3:	e8 8d 01 00 00       	call   0x47bd65
47bbd8:	8a 17                	mov    (%edi),%dl
47bbda:	59                   	pop    %ecx
47bbdb:	59                   	pop    %ecx
47bbdc:	84 c0                	test   %al,%al
47bbde:	74 0c                	je     0x47bbec
47bbe0:	52                   	push   %edx
47bbe1:	8b ce                	mov    %esi,%ecx
47bbe3:	e8 c9 d4 ff ff       	call   0x4790b1
47bbe8:	6a 06                	push   $0x6
47bbea:	eb 3c                	jmp    0x47bc28
47bbec:	80 fa 29             	cmp    $0x29,%dl
47bbef:	74 35                	je     0x47bc26
47bbf1:	84 d2                	test   %dl,%dl
47bbf3:	74 91                	je     0x47bb86
47bbf5:	8a c2                	mov    %dl,%al
47bbf7:	2c 30                	sub    $0x30,%al
47bbf9:	3c 09                	cmp    $0x9,%al
47bbfb:	76 19                	jbe    0x47bc16
47bbfd:	8a c2                	mov    %dl,%al
47bbff:	2c 61                	sub    $0x61,%al
47bc01:	3c 19                	cmp    $0x19,%al
47bc03:	76 11                	jbe    0x47bc16
47bc05:	8a c2                	mov    %dl,%al
47bc07:	2c 41                	sub    $0x41,%al
47bc09:	3c 19                	cmp    $0x19,%al
47bc0b:	76 09                	jbe    0x47bc16
47bc0d:	80 fa 5f             	cmp    $0x5f,%dl
47bc10:	0f 85 70 ff ff ff    	jne    0x47bb86
47bc16:	8b 06                	mov    (%esi),%eax
47bc18:	8a 08                	mov    (%eax),%cl
47bc1a:	40                   	inc    %eax
47bc1b:	89 06                	mov    %eax,(%esi)
47bc1d:	8a d1                	mov    %cl,%dl
47bc1f:	88 0f                	mov    %cl,(%edi)
47bc21:	80 f9 29             	cmp    $0x29,%cl
47bc24:	75 cb                	jne    0x47bbf1
47bc26:	6a 04                	push   $0x4
47bc28:	58                   	pop    %eax
47bc29:	5f                   	pop    %edi
47bc2a:	5e                   	pop    %esi
47bc2b:	c9                   	leave
47bc2c:	c3                   	ret
47bc2d:	8b ff                	mov    %edi,%edi
47bc2f:	55                   	push   %ebp
47bc30:	8b ec                	mov    %esp,%ebp
47bc32:	83 ec 0c             	sub    $0xc,%esp
47bc35:	56                   	push   %esi
47bc36:	8b 75 0c             	mov    0xc(%ebp),%esi
47bc39:	8d 45 10             	lea    0x10(%ebp),%eax
47bc3c:	57                   	push   %edi
47bc3d:	8b 7d 08             	mov    0x8(%ebp),%edi
47bc40:	33 c9                	xor    %ecx,%ecx
47bc42:	89 75 f4             	mov    %esi,-0xc(%ebp)
47bc45:	89 7d f8             	mov    %edi,-0x8(%ebp)
47bc48:	89 45 fc             	mov    %eax,-0x4(%ebp)
47bc4b:	0f b7 07             	movzwl (%edi),%eax
47bc4e:	66 3b 81 dc 27 4a 00 	cmp    0x4a27dc(%ecx),%ax
47bc55:	74 09                	je     0x47bc60
47bc57:	66 3b 81 e4 27 4a 00 	cmp    0x4a27e4(%ecx),%ax
47bc5e:	75 4c                	jne    0x47bcac
47bc60:	8b 06                	mov    (%esi),%eax
47bc62:	83 c1 02             	add    $0x2,%ecx
47bc65:	0f b7 10             	movzwl (%eax),%edx
47bc68:	83 c0 02             	add    $0x2,%eax
47bc6b:	89 06                	mov    %eax,(%esi)
47bc6d:	66 89 17             	mov    %dx,(%edi)
47bc70:	83 f9 06             	cmp    $0x6,%ecx
47bc73:	75 d6                	jne    0x47bc4b
47bc75:	52                   	push   %edx
47bc76:	8b ce                	mov    %esi,%ecx
47bc78:	e8 5d d4 ff ff       	call   0x4790da
47bc7d:	8b 06                	mov    (%esi),%eax
47bc7f:	89 45 10             	mov    %eax,0x10(%ebp)
47bc82:	0f b7 08             	movzwl (%eax),%ecx
47bc85:	83 c0 02             	add    $0x2,%eax
47bc88:	89 06                	mov    %eax,(%esi)
47bc8a:	66 89 0f             	mov    %cx,(%edi)
47bc8d:	83 f9 28             	cmp    $0x28,%ecx
47bc90:	74 2a                	je     0x47bcbc
47bc92:	8d 4d f4             	lea    -0xc(%ebp),%ecx
47bc95:	e8 83 04 00 00       	call   0x47c11d
47bc9a:	0f b6 c0             	movzbl %al,%eax
47bc9d:	f7 d8                	neg    %eax
47bc9f:	1b c0                	sbb    %eax,%eax
47bca1:	83 e0 fd             	and    $0xfffffffd,%eax
47bca4:	83 c0 07             	add    $0x7,%eax
47bca7:	e9 9e 00 00 00       	jmp    0x47bd4a
47bcac:	8d 4d f4             	lea    -0xc(%ebp),%ecx
47bcaf:	e8 69 04 00 00       	call   0x47c11d
47bcb4:	6a 07                	push   $0x7
47bcb6:	58                   	pop    %eax
47bcb7:	e9 8e 00 00 00       	jmp    0x47bd4a
47bcbc:	8b 06                	mov    (%esi),%eax
47bcbe:	56                   	push   %esi
47bcbf:	57                   	push   %edi
47bcc0:	0f b7 08             	movzwl (%eax),%ecx
47bcc3:	83 c0 02             	add    $0x2,%eax
47bcc6:	89 06                	mov    %eax,(%esi)
47bcc8:	66 89 0f             	mov    %cx,(%edi)
47bccb:	e8 52 01 00 00       	call   0x47be22
47bcd0:	59                   	pop    %ecx
47bcd1:	59                   	pop    %ecx
47bcd2:	84 c0                	test   %al,%al
47bcd4:	74 0f                	je     0x47bce5
47bcd6:	0f b7 07             	movzwl (%edi),%eax
47bcd9:	8b ce                	mov    %esi,%ecx
47bcdb:	50                   	push   %eax
47bcdc:	e8 f9 d3 ff ff       	call   0x4790da
47bce1:	6a 05                	push   $0x5
47bce3:	eb d1                	jmp    0x47bcb6
47bce5:	56                   	push   %esi
47bce6:	57                   	push   %edi
47bce7:	e8 b5 00 00 00       	call   0x47bda1
47bcec:	59                   	pop    %ecx
47bced:	59                   	pop    %ecx
47bcee:	0f b7 0f             	movzwl (%edi),%ecx
47bcf1:	84 c0                	test   %al,%al
47bcf3:	74 0c                	je     0x47bd01
47bcf5:	51                   	push   %ecx
47bcf6:	8b ce                	mov    %esi,%ecx
47bcf8:	e8 dd d3 ff ff       	call   0x4790da
47bcfd:	6a 06                	push   $0x6
47bcff:	eb b5                	jmp    0x47bcb6
47bd01:	53                   	push   %ebx
47bd02:	6a 29                	push   $0x29
47bd04:	5b                   	pop    %ebx
47bd05:	66 3b cb             	cmp    %bx,%cx
47bd08:	74 3c                	je     0x47bd46
47bd0a:	8b d1                	mov    %ecx,%edx
47bd0c:	66 85 d2             	test   %dx,%dx
47bd0f:	74 3d                	je     0x47bd4e
47bd11:	0f b7 ca             	movzwl %dx,%ecx
47bd14:	8d 41 d0             	lea    -0x30(%ecx),%eax
47bd17:	83 f8 09             	cmp    $0x9,%eax
47bd1a:	76 16                	jbe    0x47bd32
47bd1c:	8d 41 9f             	lea    -0x61(%ecx),%eax
47bd1f:	83 f8 19             	cmp    $0x19,%eax
47bd22:	76 0e                	jbe    0x47bd32
47bd24:	8d 41 bf             	lea    -0x41(%ecx),%eax
47bd27:	83 f8 19             	cmp    $0x19,%eax
47bd2a:	76 06                	jbe    0x47bd32
47bd2c:	66 83 fa 5f          	cmp    $0x5f,%dx
47bd30:	75 1c                	jne    0x47bd4e
47bd32:	8b 06                	mov    (%esi),%eax
47bd34:	0f b7 08             	movzwl (%eax),%ecx
47bd37:	83 c0 02             	add    $0x2,%eax
47bd3a:	89 06                	mov    %eax,(%esi)
47bd3c:	8b d1                	mov    %ecx,%edx
47bd3e:	66 89 0f             	mov    %cx,(%edi)
47bd41:	66 3b cb             	cmp    %bx,%cx
47bd44:	75 c6                	jne    0x47bd0c
47bd46:	6a 04                	push   $0x4
47bd48:	58                   	pop    %eax
47bd49:	5b                   	pop    %ebx
47bd4a:	5f                   	pop    %edi
47bd4b:	5e                   	pop    %esi
47bd4c:	c9                   	leave
47bd4d:	c3                   	ret
47bd4e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
47bd51:	e8 c7 03 00 00       	call   0x47c11d
47bd56:	0f b6 c0             	movzbl %al,%eax
47bd59:	f7 d8                	neg    %eax
47bd5b:	1b c0                	sbb    %eax,%eax
47bd5d:	83 e0 fd             	and    $0xfffffffd,%eax
47bd60:	83 c0 07             	add    $0x7,%eax
47bd63:	eb e4                	jmp    0x47bd49
47bd65:	8b ff                	mov    %edi,%edi
47bd67:	55                   	push   %ebp
47bd68:	8b ec                	mov    %esp,%ebp
47bd6a:	53                   	push   %ebx
47bd6b:	56                   	push   %esi
47bd6c:	8b 75 08             	mov    0x8(%ebp),%esi
47bd6f:	33 db                	xor    %ebx,%ebx
47bd71:	57                   	push   %edi
47bd72:	8b 7d 0c             	mov    0xc(%ebp),%edi
47bd75:	8b d3                	mov    %ebx,%edx
47bd77:	8a 06                	mov    (%esi),%al
47bd79:	3a 82 fc 27 4a 00    	cmp    0x4a27fc(%edx),%al
47bd7f:	74 08                	je     0x47bd89
47bd81:	3a 82 00 28 4a 00    	cmp    0x4a2800(%edx),%al
47bd87:	75 11                	jne    0x47bd9a
47bd89:	8b 07                	mov    (%edi),%eax
47bd8b:	8a 08                	mov    (%eax),%cl
47bd8d:	40                   	inc    %eax
47bd8e:	42                   	inc    %edx
47bd8f:	89 07                	mov    %eax,(%edi)
47bd91:	88 0e                	mov    %cl,(%esi)
47bd93:	83 fa 04             	cmp    $0x4,%edx
47bd96:	75 df                	jne    0x47bd77
47bd98:	b3 01                	mov    $0x1,%bl
47bd9a:	5f                   	pop    %edi
47bd9b:	5e                   	pop    %esi
47bd9c:	8a c3                	mov    %bl,%al
47bd9e:	5b                   	pop    %ebx
47bd9f:	5d                   	pop    %ebp
47bda0:	c3                   	ret
47bda1:	8b ff                	mov    %edi,%edi
47bda3:	55                   	push   %ebp
47bda4:	8b ec                	mov    %esp,%ebp
47bda6:	53                   	push   %ebx
47bda7:	56                   	push   %esi
47bda8:	8b 75 08             	mov    0x8(%ebp),%esi
47bdab:	33 db                	xor    %ebx,%ebx
47bdad:	57                   	push   %edi
47bdae:	8b 7d 0c             	mov    0xc(%ebp),%edi
47bdb1:	8b d3                	mov    %ebx,%edx
47bdb3:	0f b7 06             	movzwl (%esi),%eax
47bdb6:	66 3b 82 1c 28 4a 00 	cmp    0x4a281c(%edx),%ax
47bdbd:	74 09                	je     0x47bdc8
47bdbf:	66 3b 82 24 28 4a 00 	cmp    0x4a2824(%edx),%ax
47bdc6:	75 17                	jne    0x47bddf
47bdc8:	8b 07                	mov    (%edi),%eax
47bdca:	83 c2 02             	add    $0x2,%edx
47bdcd:	0f b7 08             	movzwl (%eax),%ecx
47bdd0:	83 c0 02             	add    $0x2,%eax
47bdd3:	89 07                	mov    %eax,(%edi)
47bdd5:	66 89 0e             	mov    %cx,(%esi)
47bdd8:	83 fa 08             	cmp    $0x8,%edx
47bddb:	75 d6                	jne    0x47bdb3
47bddd:	b3 01                	mov    $0x1,%bl
47bddf:	5f                   	pop    %edi
47bde0:	5e                   	pop    %esi
47bde1:	8a c3                	mov    %bl,%al
47bde3:	5b                   	pop    %ebx
47bde4:	5d                   	pop    %ebp
47bde5:	c3                   	ret
47bde6:	8b ff                	mov    %edi,%edi
47bde8:	55                   	push   %ebp
47bde9:	8b ec                	mov    %esp,%ebp
47bdeb:	53                   	push   %ebx
47bdec:	56                   	push   %esi
47bded:	8b 75 08             	mov    0x8(%ebp),%esi
47bdf0:	33 db                	xor    %ebx,%ebx
47bdf2:	57                   	push   %edi
47bdf3:	8b 7d 0c             	mov    0xc(%ebp),%edi
47bdf6:	8b d3                	mov    %ebx,%edx
47bdf8:	8a 06                	mov    (%esi),%al
47bdfa:	3a 82 ec 27 4a 00    	cmp    0x4a27ec(%edx),%al
47be00:	74 08                	je     0x47be0a
47be02:	3a 82 f4 27 4a 00    	cmp    0x4a27f4(%edx),%al
47be08:	75 11                	jne    0x47be1b
47be0a:	8b 07                	mov    (%edi),%eax
47be0c:	8a 08                	mov    (%eax),%cl
47be0e:	40                   	inc    %eax
47be0f:	42                   	inc    %edx
47be10:	89 07                	mov    %eax,(%edi)
47be12:	88 0e                	mov    %cl,(%esi)
47be14:	83 fa 05             	cmp    $0x5,%edx
47be17:	75 df                	jne    0x47bdf8
47be19:	b3 01                	mov    $0x1,%bl
47be1b:	5f                   	pop    %edi
47be1c:	5e                   	pop    %esi
47be1d:	8a c3                	mov    %bl,%al
47be1f:	5b                   	pop    %ebx
47be20:	5d                   	pop    %ebp
47be21:	c3                   	ret
47be22:	8b ff                	mov    %edi,%edi
47be24:	55                   	push   %ebp
47be25:	8b ec                	mov    %esp,%ebp
47be27:	53                   	push   %ebx
47be28:	56                   	push   %esi
47be29:	8b 75 08             	mov    0x8(%ebp),%esi
47be2c:	33 db                	xor    %ebx,%ebx
47be2e:	57                   	push   %edi
47be2f:	8b 7d 0c             	mov    0xc(%ebp),%edi
47be32:	8b d3                	mov    %ebx,%edx
47be34:	0f b7 06             	movzwl (%esi),%eax
47be37:	66 3b 82 04 28 4a 00 	cmp    0x4a2804(%edx),%ax
47be3e:	74 09                	je     0x47be49
47be40:	66 3b 82 10 28 4a 00 	cmp    0x4a2810(%edx),%ax
47be47:	75 17                	jne    0x47be60
47be49:	8b 07                	mov    (%edi),%eax
47be4b:	83 c2 02             	add    $0x2,%edx
47be4e:	0f b7 08             	movzwl (%eax),%ecx
47be51:	83 c0 02             	add    $0x2,%eax
47be54:	89 07                	mov    %eax,(%edi)
47be56:	66 89 0e             	mov    %cx,(%esi)
47be59:	83 fa 0a             	cmp    $0xa,%edx
47be5c:	75 d6                	jne    0x47be34
47be5e:	b3 01                	mov    $0x1,%bl
47be60:	5f                   	pop    %edi
47be61:	5e                   	pop    %esi
47be62:	8a c3                	mov    %bl,%al
47be64:	5b                   	pop    %ebx
47be65:	5d                   	pop    %ebp
47be66:	c3                   	ret
47be67:	8b ff                	mov    %edi,%edi
47be69:	55                   	push   %ebp
47be6a:	8b ec                	mov    %esp,%ebp
47be6c:	8b 45 08             	mov    0x8(%ebp),%eax
47be6f:	56                   	push   %esi
47be70:	83 f8 09             	cmp    $0x9,%eax
47be73:	0f 87 d9 00 00 00    	ja     0x47bf52
47be79:	ff 24 85 ab bf 47 00 	jmp    *0x47bfab(,%eax,4)
47be80:	ff 75 10             	push   0x10(%ebp)
47be83:	ff 75 0c             	push   0xc(%ebp)
47be86:	e8 35 e9 ff ff       	call   0x47a7c0
47be8b:	59                   	pop    %ecx
47be8c:	59                   	pop    %ecx
47be8d:	e9 c3 00 00 00       	jmp    0x47bf55
47be92:	ff 75 10             	push   0x10(%ebp)
47be95:	ff 75 0c             	push   0xc(%ebp)
47be98:	e8 65 e9 ff ff       	call   0x47a802
47be9d:	eb ec                	jmp    0x47be8b
47be9f:	8b 45 0c             	mov    0xc(%ebp),%eax
47bea2:	0f b6 88 08 03 00 00 	movzbl 0x308(%eax),%ecx
47bea9:	b8 00 00 00 80       	mov    $0x80000000,%eax
47beae:	f7 d9                	neg    %ecx
47beb0:	1b c9                	sbb    %ecx,%ecx
47beb2:	23 c8                	and    %eax,%ecx
47beb4:	23 c8                	and    %eax,%ecx
47beb6:	8b 45 10             	mov    0x10(%ebp),%eax
47beb9:	89 08                	mov    %ecx,(%eax)
47bebb:	33 c0                	xor    %eax,%eax
47bebd:	e9 93 00 00 00       	jmp    0x47bf55
47bec2:	8b 45 0c             	mov    0xc(%ebp),%eax
47bec5:	33 d2                	xor    %edx,%edx
47bec7:	8b 4d 10             	mov    0x10(%ebp),%ecx
47beca:	be 00 00 80 7f       	mov    $0x7f800000,%esi
47becf:	38 90 08 03 00 00    	cmp    %dl,0x308(%eax)
47bed5:	8b 01                	mov    (%ecx),%eax
47bed7:	0f 94 c2             	sete   %dl
47beda:	23 c6                	and    %esi,%eax
47bedc:	4a                   	dec    %edx
47bedd:	81 e2 00 00 00 80    	and    $0x80000000,%edx
47bee3:	03 d6                	add    %esi,%edx
47bee5:	0b d0                	or     %eax,%edx
47bee7:	81 e2 00 00 80 ff    	and    $0xff800000,%edx
47beed:	89 11                	mov    %edx,(%ecx)
47beef:	eb ca                	jmp    0x47bebb
47bef1:	8b 45 0c             	mov    0xc(%ebp),%eax
47bef4:	33 c9                	xor    %ecx,%ecx
47bef6:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
47befc:	0f 94 c1             	sete   %cl
47beff:	49                   	dec    %ecx
47bf00:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
47bf06:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
47bf0c:	eb a8                	jmp    0x47beb6
47bf0e:	8b 45 0c             	mov    0xc(%ebp),%eax
47bf11:	33 d2                	xor    %edx,%edx
47bf13:	8b 4d 10             	mov    0x10(%ebp),%ecx