4b08c8:	bf 00 03 00 00       	mov    $0x300,%edi
4b08cd:	23 d6                	and    %esi,%edx
4b08cf:	bd 00 02 00 00       	mov    $0x200,%ebp
4b08d4:	74 1f                	je     0x4b08f5
4b08d6:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4b08dc:	74 14                	je     0x4b08f2
4b08de:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4b08e4:	74 08                	je     0x4b08ee
4b08e6:	3b d6                	cmp    %esi,%edx
4b08e8:	75 0b                	jne    0x4b08f5
4b08ea:	0b c7                	or     %edi,%eax
4b08ec:	eb 07                	jmp    0x4b08f5
4b08ee:	0b c5                	or     %ebp,%eax
4b08f0:	eb 03                	jmp    0x4b08f5
4b08f2:	80 cc 01             	or     $0x1,%ah
4b08f5:	23 cf                	and    %edi,%ecx
4b08f7:	5e                   	pop    %esi
4b08f8:	74 0b                	je     0x4b0905
4b08fa:	3b cd                	cmp    %ebp,%ecx
4b08fc:	75 0c                	jne    0x4b090a
4b08fe:	0d 00 00 01 00       	or     $0x10000,%eax
4b0903:	eb 05                	jmp    0x4b090a
4b0905:	0d 00 00 02 00       	or     $0x20000,%eax
4b090a:	5f                   	pop    %edi
4b090b:	5d                   	pop    %ebp
4b090c:	f6 c7 10             	test   $0x10,%bh
4b090f:	5b                   	pop    %ebx
4b0910:	74 05                	je     0x4b0917
4b0912:	0d 00 00 04 00       	or     $0x40000,%eax
4b0917:	c3                   	ret
4b0918:	53                   	push   %ebx
4b0919:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4b091d:	33 c0                	xor    %eax,%eax
4b091f:	56                   	push   %esi
4b0920:	f6 c3 10             	test   $0x10,%bl
4b0923:	74 03                	je     0x4b0928
4b0925:	6a 01                	push   $0x1
4b0927:	58                   	pop    %eax
4b0928:	f6 c3 08             	test   $0x8,%bl
4b092b:	74 02                	je     0x4b092f
4b092d:	0c 04                	or     $0x4,%al
4b092f:	f6 c3 04             	test   $0x4,%bl
4b0932:	74 02                	je     0x4b0936
4b0934:	0c 08                	or     $0x8,%al
4b0936:	f6 c3 02             	test   $0x2,%bl
4b0939:	74 02                	je     0x4b093d
4b093b:	0c 10                	or     $0x10,%al
4b093d:	f6 c3 01             	test   $0x1,%bl
4b0940:	74 02                	je     0x4b0944
4b0942:	0c 20                	or     $0x20,%al
4b0944:	f7 c3 00 00 08 00    	test   $0x80000,%ebx
4b094a:	74 02                	je     0x4b094e
4b094c:	0c 02                	or     $0x2,%al
4b094e:	8b cb                	mov    %ebx,%ecx
4b0950:	ba 00 03 00 00       	mov    $0x300,%edx
4b0955:	23 ca                	and    %edx,%ecx
4b0957:	be 00 02 00 00       	mov    $0x200,%esi
4b095c:	74 1d                	je     0x4b097b
4b095e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4b0964:	74 12                	je     0x4b0978
4b0966:	3b ce                	cmp    %esi,%ecx
4b0968:	74 09                	je     0x4b0973
4b096a:	3b ca                	cmp    %edx,%ecx
4b096c:	75 0d                	jne    0x4b097b
4b096e:	80 cc 0c             	or     $0xc,%ah
4b0971:	eb 08                	jmp    0x4b097b
4b0973:	80 cc 08             	or     $0x8,%ah
4b0976:	eb 03                	jmp    0x4b097b
4b0978:	80 cc 04             	or     $0x4,%ah
4b097b:	8b cb                	mov    %ebx,%ecx
4b097d:	81 e1 00 00 03 00    	and    $0x30000,%ecx
4b0983:	74 0c                	je     0x4b0991
4b0985:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
4b098b:	75 06                	jne    0x4b0993
4b098d:	0b c6                	or     %esi,%eax
4b098f:	eb 02                	jmp    0x4b0993
4b0991:	0b c2                	or     %edx,%eax
4b0993:	5e                   	pop    %esi
4b0994:	f7 c3 00 00 04 00    	test   $0x40000,%ebx
4b099a:	5b                   	pop    %ebx
4b099b:	74 03                	je     0x4b09a0
4b099d:	80 cc 10             	or     $0x10,%ah
4b09a0:	c3                   	ret
4b09a1:	8b 44 24 08          	mov    0x8(%esp),%eax
4b09a5:	56                   	push   %esi
4b09a6:	6a 20                	push   $0x20
4b09a8:	99                   	cltd
4b09a9:	59                   	pop    %ecx
4b09aa:	f7 f9                	idiv   %ecx
4b09ac:	6a 1f                	push   $0x1f
4b09ae:	8b f0                	mov    %eax,%esi
4b09b0:	8b 44 24 10          	mov    0x10(%esp),%eax
4b09b4:	99                   	cltd
4b09b5:	f7 f9                	idiv   %ecx
4b09b7:	59                   	pop    %ecx
4b09b8:	8b 44 24 08          	mov    0x8(%esp),%eax
4b09bc:	2b ca                	sub    %edx,%ecx
4b09be:	83 ca ff             	or     $0xffffffff,%edx
4b09c1:	d3 e2                	shl    %cl,%edx
4b09c3:	f7 d2                	not    %edx
4b09c5:	85 14 b0             	test   %edx,(%eax,%esi,4)
4b09c8:	75 1c                	jne    0x4b09e6
4b09ca:	46                   	inc    %esi
4b09cb:	83 fe 03             	cmp    $0x3,%esi
4b09ce:	7d 11                	jge    0x4b09e1
4b09d0:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4b09d3:	83 38 00             	cmpl   $0x0,(%eax)
4b09d6:	75 0e                	jne    0x4b09e6
4b09d8:	46                   	inc    %esi
4b09d9:	83 c0 04             	add    $0x4,%eax
4b09dc:	83 fe 03             	cmp    $0x3,%esi
4b09df:	7c f2                	jl     0x4b09d3
4b09e1:	6a 01                	push   $0x1
4b09e3:	58                   	pop    %eax
4b09e4:	5e                   	pop    %esi
4b09e5:	c3                   	ret
4b09e6:	33 c0                	xor    %eax,%eax
4b09e8:	5e                   	pop    %esi
4b09e9:	c3                   	ret
4b09ea:	8b 44 24 08          	mov    0x8(%esp),%eax
4b09ee:	53                   	push   %ebx
4b09ef:	56                   	push   %esi
4b09f0:	57                   	push   %edi
4b09f1:	6a 20                	push   $0x20
4b09f3:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4b09f7:	99                   	cltd
4b09f8:	59                   	pop    %ecx
4b09f9:	f7 f9                	idiv   %ecx
4b09fb:	8b f0                	mov    %eax,%esi
4b09fd:	8b 44 24 14          	mov    0x14(%esp),%eax
4b0a01:	99                   	cltd
4b0a02:	f7 f9                	idiv   %ecx
4b0a04:	8d 3c b3             	lea    (%ebx,%esi,4),%edi
4b0a07:	57                   	push   %edi
4b0a08:	6a 1f                	push   $0x1f
4b0a0a:	59                   	pop    %ecx
4b0a0b:	6a 01                	push   $0x1
4b0a0d:	58                   	pop    %eax
4b0a0e:	2b ca                	sub    %edx,%ecx
4b0a10:	d3 e0                	shl    %cl,%eax
4b0a12:	50                   	push   %eax
4b0a13:	ff 37                	push   (%edi)
4b0a15:	e8 5f 14 00 00       	call   0x4b1e79
4b0a1a:	83 c4 0c             	add    $0xc,%esp
4b0a1d:	4e                   	dec    %esi
4b0a1e:	78 1c                	js     0x4b0a3c
4b0a20:	8d 3c b3             	lea    (%ebx,%esi,4),%edi
4b0a23:	85 c0                	test   %eax,%eax
4b0a25:	74 15                	je     0x4b0a3c
4b0a27:	57                   	push   %edi
4b0a28:	6a 01                	push   $0x1
4b0a2a:	ff 37                	push   (%edi)
4b0a2c:	e8 48 14 00 00       	call   0x4b1e79
4b0a31:	83 c4 0c             	add    $0xc,%esp
4b0a34:	4e                   	dec    %esi
4b0a35:	83 ef 04             	sub    $0x4,%edi
4b0a38:	85 f6                	test   %esi,%esi
4b0a3a:	7d e7                	jge    0x4b0a23
4b0a3c:	5f                   	pop    %edi
4b0a3d:	5e                   	pop    %esi
4b0a3e:	5b                   	pop    %ebx
4b0a3f:	c3                   	ret
4b0a40:	55                   	push   %ebp
4b0a41:	8b ec                	mov    %esp,%ebp
4b0a43:	51                   	push   %ecx
4b0a44:	51                   	push   %ecx
4b0a45:	8b 45 0c             	mov    0xc(%ebp),%eax
4b0a48:	53                   	push   %ebx
4b0a49:	56                   	push   %esi
4b0a4a:	57                   	push   %edi
4b0a4b:	8d 78 ff             	lea    -0x1(%eax),%edi
4b0a4e:	6a 20                	push   $0x20
4b0a50:	59                   	pop    %ecx
4b0a51:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4b0a55:	8d 5f 01             	lea    0x1(%edi),%ebx
4b0a58:	6a 20                	push   $0x20
4b0a5a:	8b c3                	mov    %ebx,%eax
4b0a5c:	5e                   	pop    %esi
4b0a5d:	99                   	cltd
4b0a5e:	f7 f9                	idiv   %ecx
4b0a60:	6a 1f                	push   $0x1f
4b0a62:	8b c8                	mov    %eax,%ecx
4b0a64:	8b c3                	mov    %ebx,%eax
4b0a66:	99                   	cltd
4b0a67:	f7 fe                	idiv   %esi
4b0a69:	8b 45 08             	mov    0x8(%ebp),%eax
4b0a6c:	5e                   	pop    %esi
4b0a6d:	6a 01                	push   $0x1
4b0a6f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4b0a72:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4b0a75:	89 45 0c             	mov    %eax,0xc(%ebp)
4b0a78:	2b f2                	sub    %edx,%esi
4b0a7a:	5a                   	pop    %edx
4b0a7b:	8b ce                	mov    %esi,%ecx
4b0a7d:	d3 e2                	shl    %cl,%edx
4b0a7f:	85 10                	test   %edx,(%eax)
4b0a81:	74 21                	je     0x4b0aa4
4b0a83:	43                   	inc    %ebx
4b0a84:	53                   	push   %ebx
4b0a85:	ff 75 08             	push   0x8(%ebp)
4b0a88:	e8 14 ff ff ff       	call   0x4b09a1
4b0a8d:	59                   	pop    %ecx
4b0a8e:	85 c0                	test   %eax,%eax
4b0a90:	59                   	pop    %ecx
4b0a91:	75 0e                	jne    0x4b0aa1
4b0a93:	57                   	push   %edi
4b0a94:	ff 75 08             	push   0x8(%ebp)
4b0a97:	e8 4e ff ff ff       	call   0x4b09ea
4b0a9c:	59                   	pop    %ecx
4b0a9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4b0aa0:	59                   	pop    %ecx
4b0aa1:	8b 45 0c             	mov    0xc(%ebp),%eax
4b0aa4:	83 ca ff             	or     $0xffffffff,%edx
4b0aa7:	8b ce                	mov    %esi,%ecx
4b0aa9:	d3 e2                	shl    %cl,%edx
4b0aab:	6a 03                	push   $0x3
4b0aad:	59                   	pop    %ecx
4b0aae:	21 10                	and    %edx,(%eax)
4b0ab0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4b0ab3:	40                   	inc    %eax
4b0ab4:	3b c1                	cmp    %ecx,%eax
4b0ab6:	7d 0c                	jge    0x4b0ac4
4b0ab8:	8b 55 08             	mov    0x8(%ebp),%edx
4b0abb:	2b c8                	sub    %eax,%ecx
4b0abd:	8d 3c 82             	lea    (%edx,%eax,4),%edi
4b0ac0:	33 c0                	xor    %eax,%eax
4b0ac2:	f3 ab                	rep stos %eax,%es:(%edi)
4b0ac4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4b0ac7:	5f                   	pop    %edi
4b0ac8:	5e                   	pop    %esi
4b0ac9:	5b                   	pop    %ebx
4b0aca:	c9                   	leave
4b0acb:	c3                   	ret
4b0acc:	8b 44 24 08          	mov    0x8(%esp),%eax
4b0ad0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4b0ad4:	56                   	push   %esi
4b0ad5:	6a 03                	push   $0x3
4b0ad7:	2b c8                	sub    %eax,%ecx
4b0ad9:	5a                   	pop    %edx
4b0ada:	8b 30                	mov    (%eax),%esi
4b0adc:	89 34 01             	mov    %esi,(%ecx,%eax,1)
4b0adf:	83 c0 04             	add    $0x4,%eax
4b0ae2:	4a                   	dec    %edx
4b0ae3:	75 f5                	jne    0x4b0ada
4b0ae5:	5e                   	pop    %esi
4b0ae6:	c3                   	ret
4b0ae7:	57                   	push   %edi
4b0ae8:	8b 7c 24 08          	mov    0x8(%esp),%edi
4b0aec:	33 c0                	xor    %eax,%eax
4b0aee:	ab                   	stos   %eax,%es:(%edi)
4b0aef:	ab                   	stos   %eax,%es:(%edi)
4b0af0:	ab                   	stos   %eax,%es:(%edi)
4b0af1:	5f                   	pop    %edi
4b0af2:	c3                   	ret
4b0af3:	8b 44 24 04          	mov    0x4(%esp),%eax
4b0af7:	33 c9                	xor    %ecx,%ecx
4b0af9:	83 38 00             	cmpl   $0x0,(%eax)
4b0afc:	75 0d                	jne    0x4b0b0b
4b0afe:	41                   	inc    %ecx
4b0aff:	83 c0 04             	add    $0x4,%eax
4b0b02:	83 f9 03             	cmp    $0x3,%ecx
4b0b05:	7c f2                	jl     0x4b0af9
4b0b07:	6a 01                	push   $0x1
4b0b09:	58                   	pop    %eax
4b0b0a:	c3                   	ret
4b0b0b:	33 c0                	xor    %eax,%eax
4b0b0d:	c3                   	ret
4b0b0e:	55                   	push   %ebp
4b0b0f:	8b ec                	mov    %esp,%ebp
4b0b11:	83 ec 0c             	sub    $0xc,%esp
4b0b14:	8b 45 0c             	mov    0xc(%ebp),%eax
4b0b17:	53                   	push   %ebx
4b0b18:	56                   	push   %esi
4b0b19:	57                   	push   %edi
4b0b1a:	6a 20                	push   $0x20
4b0b1c:	8b 7d 08             	mov    0x8(%ebp),%edi
4b0b1f:	5b                   	pop    %ebx
4b0b20:	83 ce ff             	or     $0xffffffff,%esi
4b0b23:	99                   	cltd
4b0b24:	8b cb                	mov    %ebx,%ecx
4b0b26:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4b0b2d:	f7 f9                	idiv   %ecx
4b0b2f:	89 45 f4             	mov    %eax,-0xc(%ebp)
4b0b32:	8b 45 0c             	mov    0xc(%ebp),%eax
4b0b35:	99                   	cltd
4b0b36:	f7 f9                	idiv   %ecx
4b0b38:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
4b0b3c:	8b ca                	mov    %edx,%ecx
4b0b3e:	d3 e6                	shl    %cl,%esi
4b0b40:	2b da                	sub    %edx,%ebx
4b0b42:	f7 d6                	not    %esi
4b0b44:	8b 07                	mov    (%edi),%eax
4b0b46:	8b c8                	mov    %eax,%ecx
4b0b48:	23 ce                	and    %esi,%ecx
4b0b4a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4b0b4d:	8b ca                	mov    %edx,%ecx
4b0b4f:	d3 e8                	shr    %cl,%eax
4b0b51:	0b 45 0c             	or     0xc(%ebp),%eax
4b0b54:	89 07                	mov    %eax,(%edi)
4b0b56:	8b 45 f8             	mov    -0x8(%ebp),%eax
4b0b59:	8b cb                	mov    %ebx,%ecx
4b0b5b:	83 c7 04             	add    $0x4,%edi
4b0b5e:	d3 e0                	shl    %cl,%eax
4b0b60:	ff 4d fc             	decl   -0x4(%ebp)
4b0b63:	89 45 0c             	mov    %eax,0xc(%ebp)
4b0b66:	75 dc                	jne    0x4b0b44
4b0b68:	8b 7d f4             	mov    -0xc(%ebp),%edi
4b0b6b:	6a 02                	push   $0x2
4b0b6d:	5b                   	pop    %ebx
4b0b6e:	8b f7                	mov    %edi,%esi
4b0b70:	6a 08                	push   $0x8
4b0b72:	59                   	pop    %ecx
4b0b73:	c1 e6 02             	shl    $0x2,%esi
4b0b76:	3b df                	cmp    %edi,%ebx
4b0b78:	7c 0f                	jl     0x4b0b89
4b0b7a:	8b 55 08             	mov    0x8(%ebp),%edx
4b0b7d:	8b c1                	mov    %ecx,%eax
4b0b7f:	2b c6                	sub    %esi,%eax
4b0b81:	8b 04 10             	mov    (%eax,%edx,1),%eax
4b0b84:	89 04 11             	mov    %eax,(%ecx,%edx,1)
4b0b87:	eb 07                	jmp    0x4b0b90
4b0b89:	8b 45 08             	mov    0x8(%ebp),%eax
4b0b8c:	83 24 01 00          	andl   $0x0,(%ecx,%eax,1)
4b0b90:	4b                   	dec    %ebx
4b0b91:	83 e9 04             	sub    $0x4,%ecx
4b0b94:	79 e0                	jns    0x4b0b76
4b0b96:	5f                   	pop    %edi
4b0b97:	5e                   	pop    %esi
4b0b98:	5b                   	pop    %ebx
4b0b99:	c9                   	leave
4b0b9a:	c3                   	ret
4b0b9b:	55                   	push   %ebp
4b0b9c:	8b ec                	mov    %esp,%ebp
4b0b9e:	83 ec 18             	sub    $0x18,%esp
4b0ba1:	8b 45 08             	mov    0x8(%ebp),%eax
4b0ba4:	53                   	push   %ebx
4b0ba5:	56                   	push   %esi
4b0ba6:	57                   	push   %edi
4b0ba7:	0f b7 48 0a          	movzwl 0xa(%eax),%ecx
4b0bab:	8b d9                	mov    %ecx,%ebx
4b0bad:	81 e1 00 80 00 00    	and    $0x8000,%ecx
4b0bb3:	89 4d 08             	mov    %ecx,0x8(%ebp)
4b0bb6:	8b 48 06             	mov    0x6(%eax),%ecx
4b0bb9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4b0bbc:	8b 48 02             	mov    0x2(%eax),%ecx
4b0bbf:	0f b7 00             	movzwl (%eax),%eax
4b0bc2:	8b 7d 10             	mov    0x10(%ebp),%edi
4b0bc5:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4b0bcb:	81 eb ff 3f 00 00    	sub    $0x3fff,%ebx
4b0bd1:	89 4d f8             	mov    %ecx,-0x8(%ebp)