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)
4b0bd4:	c1 e0 10             	shl    $0x10,%eax
4b0bd7:	81 fb 01 c0 ff ff    	cmp    $0xffffc001,%ebx
4b0bdd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4b0be0:	75 26                	jne    0x4b0c08
4b0be2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0be5:	33 f6                	xor    %esi,%esi
4b0be7:	50                   	push   %eax
4b0be8:	e8 06 ff ff ff       	call   0x4b0af3
4b0bed:	85 c0                	test   %eax,%eax
4b0bef:	59                   	pop    %ecx
4b0bf0:	0f 85 d1 00 00 00    	jne    0x4b0cc7
4b0bf6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0bf9:	50                   	push   %eax
4b0bfa:	e8 e8 fe ff ff       	call   0x4b0ae7
4b0bff:	59                   	pop    %ecx
4b0c00:	6a 02                	push   $0x2
4b0c02:	58                   	pop    %eax
4b0c03:	e9 c1 00 00 00       	jmp    0x4b0cc9
4b0c08:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c0b:	50                   	push   %eax
4b0c0c:	8d 45 e8             	lea    -0x18(%ebp),%eax
4b0c0f:	50                   	push   %eax
4b0c10:	e8 b7 fe ff ff       	call   0x4b0acc
4b0c15:	ff 77 08             	push   0x8(%edi)
4b0c18:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c1b:	50                   	push   %eax
4b0c1c:	e8 1f fe ff ff       	call   0x4b0a40
4b0c21:	83 c4 10             	add    $0x10,%esp
4b0c24:	85 c0                	test   %eax,%eax
4b0c26:	74 01                	je     0x4b0c29
4b0c28:	43                   	inc    %ebx
4b0c29:	8b 47 04             	mov    0x4(%edi),%eax
4b0c2c:	8b c8                	mov    %eax,%ecx
4b0c2e:	2b 4f 08             	sub    0x8(%edi),%ecx
4b0c31:	3b d9                	cmp    %ecx,%ebx
4b0c33:	7d 0c                	jge    0x4b0c41
4b0c35:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c38:	50                   	push   %eax
4b0c39:	e8 a9 fe ff ff       	call   0x4b0ae7
4b0c3e:	59                   	pop    %ecx
4b0c3f:	eb 3c                	jmp    0x4b0c7d
4b0c41:	3b d8                	cmp    %eax,%ebx
4b0c43:	7f 3f                	jg     0x4b0c84
4b0c45:	2b c3                	sub    %ebx,%eax
4b0c47:	8b f0                	mov    %eax,%esi
4b0c49:	8d 45 e8             	lea    -0x18(%ebp),%eax
4b0c4c:	50                   	push   %eax
4b0c4d:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c50:	50                   	push   %eax
4b0c51:	e8 76 fe ff ff       	call   0x4b0acc
4b0c56:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c59:	56                   	push   %esi
4b0c5a:	50                   	push   %eax
4b0c5b:	e8 ae fe ff ff       	call   0x4b0b0e
4b0c60:	ff 77 08             	push   0x8(%edi)
4b0c63:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c66:	50                   	push   %eax
4b0c67:	e8 d4 fd ff ff       	call   0x4b0a40
4b0c6c:	8b 47 0c             	mov    0xc(%edi),%eax
4b0c6f:	40                   	inc    %eax
4b0c70:	50                   	push   %eax
4b0c71:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c74:	50                   	push   %eax
4b0c75:	e8 94 fe ff ff       	call   0x4b0b0e
4b0c7a:	83 c4 20             	add    $0x20,%esp
4b0c7d:	33 f6                	xor    %esi,%esi
4b0c7f:	e9 7c ff ff ff       	jmp    0x4b0c00
4b0c84:	3b 1f                	cmp    (%edi),%ebx
4b0c86:	7c 28                	jl     0x4b0cb0
4b0c88:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c8b:	50                   	push   %eax
4b0c8c:	e8 56 fe ff ff       	call   0x4b0ae7
4b0c91:	ff 77 0c             	push   0xc(%edi)
4b0c94:	80 4d f7 80          	orb    $0x80,-0x9(%ebp)
4b0c98:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0c9b:	50                   	push   %eax
4b0c9c:	e8 6d fe ff ff       	call   0x4b0b0e
4b0ca1:	8b 77 14             	mov    0x14(%edi),%esi
4b0ca4:	83 c4 0c             	add    $0xc,%esp
4b0ca7:	03 37                	add    (%edi),%esi
4b0ca9:	6a 01                	push   $0x1
4b0cab:	e9 52 ff ff ff       	jmp    0x4b0c02
4b0cb0:	ff 77 0c             	push   0xc(%edi)
4b0cb3:	8b 77 14             	mov    0x14(%edi),%esi
4b0cb6:	80 65 f7 7f          	andb   $0x7f,-0x9(%ebp)
4b0cba:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0cbd:	50                   	push   %eax
4b0cbe:	03 f3                	add    %ebx,%esi
4b0cc0:	e8 49 fe ff ff       	call   0x4b0b0e
4b0cc5:	59                   	pop    %ecx
4b0cc6:	59                   	pop    %ecx
4b0cc7:	33 c0                	xor    %eax,%eax
4b0cc9:	6a 1f                	push   $0x1f
4b0ccb:	59                   	pop    %ecx
4b0ccc:	2b 4f 0c             	sub    0xc(%edi),%ecx
4b0ccf:	8b 7f 10             	mov    0x10(%edi),%edi
4b0cd2:	d3 e6                	shl    %cl,%esi
4b0cd4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4b0cd7:	f7 d9                	neg    %ecx
4b0cd9:	1b c9                	sbb    %ecx,%ecx
4b0cdb:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
4b0ce1:	0b f1                	or     %ecx,%esi
4b0ce3:	0b 75 f4             	or     -0xc(%ebp),%esi
4b0ce6:	83 ff 40             	cmp    $0x40,%edi
4b0ce9:	75 0d                	jne    0x4b0cf8
4b0ceb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4b0cee:	8b 55 f8             	mov    -0x8(%ebp),%edx
4b0cf1:	89 71 04             	mov    %esi,0x4(%ecx)
4b0cf4:	89 11                	mov    %edx,(%ecx)
4b0cf6:	eb 0a                	jmp    0x4b0d02
4b0cf8:	83 ff 20             	cmp    $0x20,%edi
4b0cfb:	75 05                	jne    0x4b0d02
4b0cfd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4b0d00:	89 31                	mov    %esi,(%ecx)
4b0d02:	5f                   	pop    %edi
4b0d03:	5e                   	pop    %esi
4b0d04:	5b                   	pop    %ebx
4b0d05:	c9                   	leave
4b0d06:	c3                   	ret
4b0d07:	68 f8 cf 50 00       	push   $0x50cff8
4b0d0c:	ff 74 24 0c          	push   0xc(%esp)
4b0d10:	ff 74 24 0c          	push   0xc(%esp)
4b0d14:	e8 82 fe ff ff       	call   0x4b0b9b
4b0d19:	83 c4 0c             	add    $0xc,%esp
4b0d1c:	c3                   	ret
4b0d1d:	68 10 d0 50 00       	push   $0x50d010
4b0d22:	ff 74 24 0c          	push   0xc(%esp)
4b0d26:	ff 74 24 0c          	push   0xc(%esp)
4b0d2a:	e8 6c fe ff ff       	call   0x4b0b9b
4b0d2f:	83 c4 0c             	add    $0xc,%esp
4b0d32:	c3                   	ret
4b0d33:	55                   	push   %ebp
4b0d34:	8b ec                	mov    %esp,%ebp
4b0d36:	83 ec 0c             	sub    $0xc,%esp
4b0d39:	33 c0                	xor    %eax,%eax
4b0d3b:	50                   	push   %eax
4b0d3c:	50                   	push   %eax
4b0d3d:	50                   	push   %eax
4b0d3e:	50                   	push   %eax
4b0d3f:	ff 75 0c             	push   0xc(%ebp)
4b0d42:	8d 45 0c             	lea    0xc(%ebp),%eax
4b0d45:	50                   	push   %eax
4b0d46:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0d49:	50                   	push   %eax
4b0d4a:	e8 bc 07 00 00       	call   0x4b150b
4b0d4f:	ff 75 08             	push   0x8(%ebp)
4b0d52:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0d55:	50                   	push   %eax
4b0d56:	e8 ac ff ff ff       	call   0x4b0d07
4b0d5b:	83 c4 24             	add    $0x24,%esp
4b0d5e:	c9                   	leave
4b0d5f:	c3                   	ret
4b0d60:	55                   	push   %ebp
4b0d61:	8b ec                	mov    %esp,%ebp
4b0d63:	83 ec 0c             	sub    $0xc,%esp
4b0d66:	33 c0                	xor    %eax,%eax
4b0d68:	50                   	push   %eax
4b0d69:	50                   	push   %eax
4b0d6a:	50                   	push   %eax
4b0d6b:	50                   	push   %eax
4b0d6c:	ff 75 0c             	push   0xc(%ebp)
4b0d6f:	8d 45 0c             	lea    0xc(%ebp),%eax
4b0d72:	50                   	push   %eax
4b0d73:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0d76:	50                   	push   %eax
4b0d77:	e8 8f 07 00 00       	call   0x4b150b
4b0d7c:	ff 75 08             	push   0x8(%ebp)
4b0d7f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4b0d82:	50                   	push   %eax
4b0d83:	e8 95 ff ff ff       	call   0x4b0d1d
4b0d88:	83 c4 24             	add    $0x24,%esp
4b0d8b:	c9                   	leave
4b0d8c:	c3                   	ret
4b0d8d:	55                   	push   %ebp
4b0d8e:	8b ec                	mov    %esp,%ebp