507c6e:	c3                   	ret
507c6f:	90                   	nop
507c70:	53                   	push   %ebx
507c71:	56                   	push   %esi
507c72:	8b f0                	mov    %eax,%esi
507c74:	57                   	push   %edi
507c75:	8b c6                	mov    %esi,%eax
507c77:	b9 00 10 00 00       	mov    $0x1000,%ecx
507c7c:	8b 5e 14             	mov    0x14(%esi),%ebx
507c7f:	ba 01 00 00 00       	mov    $0x1,%edx
507c84:	8b 70 04             	mov    0x4(%eax),%esi
507c87:	ff 16                	call   *(%esi)
507c89:	8b f8                	mov    %eax,%edi
507c8b:	89 7b 18             	mov    %edi,0x18(%ebx)
507c8e:	89 3b                	mov    %edi,(%ebx)
507c90:	c7 43 04 00 10 00 00 	movl   $0x1000,0x4(%ebx)
507c97:	5f                   	pop    %edi
507c98:	5e                   	pop    %esi
507c99:	5b                   	pop    %ebx
507c9a:	c3                   	ret
507c9b:	90                   	nop
507c9c:	53                   	push   %ebx
507c9d:	56                   	push   %esi
507c9e:	8b f0                	mov    %eax,%esi
507ca0:	8b 5e 14             	mov    0x14(%esi),%ebx
507ca3:	8b 43 14             	mov    0x14(%ebx),%eax
507ca6:	50                   	push   %eax
507ca7:	68 00 10 00 00       	push   $0x1000
507cac:	6a 01                	push   $0x1
507cae:	8b 53 18             	mov    0x18(%ebx),%edx
507cb1:	52                   	push   %edx
507cb2:	e8 45 36 ff ff       	call   0x4fb2fc
507cb7:	83 c4 10             	add    $0x10,%esp
507cba:	3d 00 10 00 00       	cmp    $0x1000,%eax
507cbf:	74 0f                	je     0x507cd0
507cc1:	8b 0e                	mov    (%esi),%ecx
507cc3:	8b c6                	mov    %esi,%eax
507cc5:	c7 41 14 24 00 00 00 	movl   $0x24,0x14(%ecx)
507ccc:	8b 10                	mov    (%eax),%edx
507cce:	ff 12                	call   *(%edx)
507cd0:	8b 4b 18             	mov    0x18(%ebx),%ecx
507cd3:	b8 01 00 00 00       	mov    $0x1,%eax
507cd8:	89 0b                	mov    %ecx,(%ebx)
507cda:	c7 43 04 00 10 00 00 	movl   $0x1000,0x4(%ebx)
507ce1:	5e                   	pop    %esi
507ce2:	5b                   	pop    %ebx
507ce3:	c3                   	ret
507ce4:	53                   	push   %ebx
507ce5:	56                   	push   %esi
507ce6:	57                   	push   %edi
507ce7:	8b f8                	mov    %eax,%edi
507ce9:	8b 5f 14             	mov    0x14(%edi),%ebx
507cec:	be 00 10 00 00       	mov    $0x1000,%esi
507cf1:	2b 73 04             	sub    0x4(%ebx),%esi
507cf4:	85 f6                	test   %esi,%esi
507cf6:	76 26                	jbe    0x507d1e
507cf8:	8b 43 14             	mov    0x14(%ebx),%eax
507cfb:	50                   	push   %eax
507cfc:	56                   	push   %esi
507cfd:	6a 01                	push   $0x1
507cff:	8b 53 18             	mov    0x18(%ebx),%edx
507d02:	52                   	push   %edx
507d03:	e8 f4 35 ff ff       	call   0x4fb2fc
507d08:	83 c4 10             	add    $0x10,%esp
507d0b:	3b f0                	cmp    %eax,%esi
507d0d:	74 0f                	je     0x507d1e
507d0f:	8b 0f                	mov    (%edi),%ecx
507d11:	8b c7                	mov    %edi,%eax
507d13:	c7 41 14 24 00 00 00 	movl   $0x24,0x14(%ecx)
507d1a:	8b 10                	mov    (%eax),%edx
507d1c:	ff 12                	call   *(%edx)
507d1e:	8b 4b 14             	mov    0x14(%ebx),%ecx
507d21:	51                   	push   %ecx
507d22:	e8 f1 35 ff ff       	call   0x4fb318
507d27:	59                   	pop    %ecx
507d28:	85 c0                	test   %eax,%eax
507d2a:	74 0f                	je     0x507d3b
507d2c:	8b 07                	mov    (%edi),%eax
507d2e:	c7 40 14 24 00 00 00 	movl   $0x24,0x14(%eax)
507d35:	8b c7                	mov    %edi,%eax
507d37:	8b 10                	mov    (%eax),%edx
507d39:	ff 12                	call   *(%edx)
507d3b:	5f                   	pop    %edi
507d3c:	5e                   	pop    %esi
507d3d:	5b                   	pop    %ebx
507d3e:	c3                   	ret
507d3f:	90                   	nop
507d40:	53                   	push   %ebx
507d41:	8b d8                	mov    %eax,%ebx
507d43:	56                   	push   %esi
507d44:	57                   	push   %edi
507d45:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
507d49:	8b f2                	mov    %edx,%esi
507d4b:	75 11                	jne    0x507d5e
507d4d:	8b c3                	mov    %ebx,%eax
507d4f:	b9 1c 00 00 00       	mov    $0x1c,%ecx
507d54:	33 d2                	xor    %edx,%edx
507d56:	8b 78 04             	mov    0x4(%eax),%edi
507d59:	ff 17                	call   *(%edi)
507d5b:	89 43 14             	mov    %eax,0x14(%ebx)
507d5e:	8b 43 14             	mov    0x14(%ebx),%eax
507d61:	c7 40 08 70 7c 50 00 	movl   $0x507c70,0x8(%eax)
507d68:	c7 40 0c 9c 7c 50 00 	movl   $0x507c9c,0xc(%eax)
507d6f:	c7 40 10 e4 7c 50 00 	movl   $0x507ce4,0x10(%eax)
507d76:	89 70 14             	mov    %esi,0x14(%eax)
507d79:	5f                   	pop    %edi
507d7a:	5e                   	pop    %esi
507d7b:	5b                   	pop    %ebx
507d7c:	c3                   	ret
507d7d:	8d 40 00             	lea    0x0(%eax),%eax
507d80:	55                   	push   %ebp
507d81:	8b ec                	mov    %esp,%ebp
507d83:	51                   	push   %ecx
507d84:	53                   	push   %ebx
507d85:	8b d8                	mov    %eax,%ebx
507d87:	56                   	push   %esi
507d88:	57                   	push   %edi
507d89:	89 4d fc             	mov    %ecx,-0x4(%ebp)
507d8c:	83 7b 10 64          	cmpl   $0x64,0x10(%ebx)
507d90:	8d 74 93 40          	lea    0x40(%ebx,%edx,4),%esi
507d94:	74 15                	je     0x507dab
507d96:	8b 03                	mov    (%ebx),%eax
507d98:	c7 40 14 12 00 00 00 	movl   $0x12,0x14(%eax)
507d9f:	8b 53 10             	mov    0x10(%ebx),%edx
507da2:	89 50 18             	mov    %edx,0x18(%eax)
507da5:	8b c3                	mov    %ebx,%eax
507da7:	8b 10                	mov    (%eax),%edx
507da9:	ff 12                	call   *(%edx)
507dab:	83 3e 00             	cmpl   $0x0,(%esi)
507dae:	75 09                	jne    0x507db9
507db0:	8b c3                	mov    %ebx,%eax
507db2:	e8 89 fe ff ff       	call   0x507c40
507db7:	89 06                	mov    %eax,(%esi)
507db9:	33 c9                	xor    %ecx,%ecx
507dbb:	8b 55 fc             	mov    -0x4(%ebp),%edx
507dbe:	8b da                	mov    %edx,%ebx
507dc0:	8b 03                	mov    (%ebx),%eax
507dc2:	f7 6d 0c             	imull  0xc(%ebp)
507dc5:	83 c0 32             	add    $0x32,%eax
507dc8:	bf 64 00 00 00       	mov    $0x64,%edi
507dcd:	99                   	cltd
507dce:	f7 ff                	idiv   %edi
507dd0:	85 c0                	test   %eax,%eax
507dd2:	7f 05                	jg     0x507dd9
507dd4:	b8 01 00 00 00       	mov    $0x1,%eax
507dd9:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
507dde:	7e 05                	jle    0x507de5
507de0:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
507de5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
507de9:	74 0c                	je     0x507df7
507deb:	3d ff 00 00 00       	cmp    $0xff,%eax
507df0:	7e 05                	jle    0x507df7
507df2:	b8 ff 00 00 00       	mov    $0xff,%eax
507df7:	8b 16                	mov    (%esi),%edx
507df9:	83 c3 04             	add    $0x4,%ebx
507dfc:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
507e00:	41                   	inc    %ecx
507e01:	83 f9 40             	cmp    $0x40,%ecx
507e04:	7c ba                	jl     0x507dc0
507e06:	8b 0e                	mov    (%esi),%ecx
507e08:	33 c0                	xor    %eax,%eax
507e0a:	89 81 80 00 00 00    	mov    %eax,0x80(%ecx)
507e10:	5f                   	pop    %edi
507e11:	5e                   	pop    %esi
507e12:	5b                   	pop    %ebx
507e13:	59                   	pop    %ecx
507e14:	5d                   	pop    %ebp
507e15:	c2 08 00             	ret    $0x8
507e18:	53                   	push   %ebx
507e19:	56                   	push   %esi
507e1a:	57                   	push   %edi
507e1b:	8b f9                	mov    %ecx,%edi
507e1d:	8b f2                	mov    %edx,%esi
507e1f:	8b d8                	mov    %eax,%ebx
507e21:	56                   	push   %esi
507e22:	57                   	push   %edi
507e23:	b9 a4 da 68 00       	mov    $0x68daa4,%ecx
507e28:	33 d2                	xor    %edx,%edx
507e2a:	8b c3                	mov    %ebx,%eax
507e2c:	e8 4f ff ff ff       	call   0x507d80
507e31:	56                   	push   %esi
507e32:	57                   	push   %edi
507e33:	b9 a4 db 68 00       	mov    $0x68dba4,%ecx
507e38:	ba 01 00 00 00       	mov    $0x1,%edx
507e3d:	8b c3                	mov    %ebx,%eax
507e3f:	e8 3c ff ff ff       	call   0x507d80
507e44:	5f                   	pop    %edi
507e45:	5e                   	pop    %esi
507e46:	5b                   	pop    %ebx
507e47:	c3                   	ret
507e48:	8b c8                	mov    %eax,%ecx
507e4a:	85 c9                	test   %ecx,%ecx
507e4c:	7f 05                	jg     0x507e53
507e4e:	b9 01 00 00 00       	mov    $0x1,%ecx
507e53:	83 f9 64             	cmp    $0x64,%ecx
507e56:	7e 05                	jle    0x507e5d
507e58:	b9 64 00 00 00       	mov    $0x64,%ecx
507e5d:	83 f9 32             	cmp    $0x32,%ecx
507e60:	7d 0c                	jge    0x507e6e
507e62:	b8 88 13 00 00       	mov    $0x1388,%eax
507e67:	99                   	cltd
507e68:	f7 f9                	idiv   %ecx
507e6a:	8b c8                	mov    %eax,%ecx
507e6c:	eb 0b                	jmp    0x507e79
507e6e:	03 c9                	add    %ecx,%ecx
507e70:	b8 c8 00 00 00       	mov    $0xc8,%eax
507e75:	2b c1                	sub    %ecx,%eax
507e77:	8b c8                	mov    %eax,%ecx
507e79:	8b c1                	mov    %ecx,%eax
507e7b:	c3                   	ret
507e7c:	53                   	push   %ebx
507e7d:	56                   	push   %esi
507e7e:	8b f1                	mov    %ecx,%esi
507e80:	8b d8                	mov    %eax,%ebx
507e82:	8b c2                	mov    %edx,%eax
507e84:	e8 bf ff ff ff       	call   0x507e48
507e89:	8b d0                	mov    %eax,%edx
507e8b:	8b ce                	mov    %esi,%ecx
507e8d:	8b c3                	mov    %ebx,%eax
507e8f:	e8 84 ff ff ff       	call   0x507e18
507e94:	5e                   	pop    %esi
507e95:	5b                   	pop    %ebx
507e96:	c3                   	ret
507e97:	90                   	nop
507e98:	55                   	push   %ebp
507e99:	8b ec                	mov    %esp,%ebp
507e9b:	53                   	push   %ebx
507e9c:	8b da                	mov    %edx,%ebx
507e9e:	56                   	push   %esi
507e9f:	57                   	push   %edi
507ea0:	83 3b 00             	cmpl   $0x0,(%ebx)
507ea3:	8b f8                	mov    %eax,%edi
507ea5:	8b f1                	mov    %ecx,%esi
507ea7:	75 09                	jne    0x507eb2
507ea9:	8b c7                	mov    %edi,%eax
507eab:	e8 a8 fd ff ff       	call   0x507c58
507eb0:	89 03                	mov    %eax,(%ebx)
507eb2:	6a 11                	push   $0x11
507eb4:	56                   	push   %esi
507eb5:	8b 13                	mov    (%ebx),%edx
507eb7:	52                   	push   %edx
507eb8:	e8 0f 34 ff ff       	call   0x4fb2cc
507ebd:	83 c4 0c             	add    $0xc,%esp
507ec0:	68 00 01 00 00       	push   $0x100
507ec5:	8b 4d 08             	mov    0x8(%ebp),%ecx
507ec8:	51                   	push   %ecx
507ec9:	8b 03                	mov    (%ebx),%eax
507ecb:	83 c0 11             	add    $0x11,%eax
507ece:	50                   	push   %eax
507ecf:	e8 f8 33 ff ff       	call   0x4fb2cc
507ed4:	83 c4 0c             	add    $0xc,%esp
507ed7:	8b 13                	mov    (%ebx),%edx
507ed9:	33 c9                	xor    %ecx,%ecx
507edb:	89 8a 14 01 00 00    	mov    %ecx,0x114(%edx)
507ee1:	5f                   	pop    %edi
507ee2:	5e                   	pop    %esi
507ee3:	5b                   	pop    %ebx
507ee4:	5d                   	pop    %ebp
507ee5:	c2 04 00             	ret    $0x4
507ee8:	53                   	push   %ebx
507ee9:	8b d8                	mov    %eax,%ebx
507eeb:	68 b5 dc 68 00       	push   $0x68dcb5
507ef0:	b9 a4 dc 68 00       	mov    $0x68dca4,%ecx
507ef5:	8d 53 50             	lea    0x50(%ebx),%edx
507ef8:	8b c3                	mov    %ebx,%eax
507efa:	e8 99 ff ff ff       	call   0x507e98
507eff:	68 ef dc 68 00       	push   $0x68dcef
507f04:	b9 de dc 68 00       	mov    $0x68dcde,%ecx
507f09:	8d 53 60             	lea    0x60(%ebx),%edx
507f0c:	8b c3                	mov    %ebx,%eax
507f0e:	e8 85 ff ff ff       	call   0x507e98
507f13:	68 d2 dc 68 00       	push   $0x68dcd2
507f18:	b9 c1 dc 68 00       	mov    $0x68dcc1,%ecx
507f1d:	8d 53 54             	lea    0x54(%ebx),%edx
507f20:	8b c3                	mov    %ebx,%eax
507f22:	e8 71 ff ff ff       	call   0x507e98
507f27:	68 a2 dd 68 00       	push   $0x68dda2
507f2c:	b9 91 dd 68 00       	mov    $0x68dd91,%ecx
507f31:	8d 53 64             	lea    0x64(%ebx),%edx
507f34:	8b c3                	mov    %ebx,%eax
507f36:	e8 5d ff ff ff       	call   0x507e98
507f3b:	5b                   	pop    %ebx
507f3c:	c3                   	ret
507f3d:	90                   	nop
507f3e:	90                   	nop
507f3f:	90                   	nop
507f40:	53                   	push   %ebx
507f41:	8b d8                	mov    %eax,%ebx
507f43:	56                   	push   %esi
507f44:	83 7b 10 64          	cmpl   $0x64,0x10(%ebx)
507f48:	74 15                	je     0x507f5f
507f4a:	8b 03                	mov    (%ebx),%eax
507f4c:	c7 40 14 12 00 00 00 	movl   $0x12,0x14(%eax)
507f53:	8b 53 10             	mov    0x10(%ebx),%edx
507f56:	89 50 18             	mov    %edx,0x18(%eax)
507f59:	8b c3                	mov    %ebx,%eax
507f5b:	8b 10                	mov    (%eax),%edx
507f5d:	ff 12                	call   *(%edx)
507f5f:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
507f63:	75 11                	jne    0x507f76
507f65:	8b c3                	mov    %ebx,%eax
507f67:	b9 48 03 00 00       	mov    $0x348,%ecx
507f6c:	33 d2                	xor    %edx,%edx
507f6e:	8b 70 04             	mov    0x4(%eax),%esi
507f71:	ff 16                	call   *(%esi)
507f73:	89 43 3c             	mov    %eax,0x3c(%ebx)
507f76:	c7 43 30 08 00 00 00 	movl   $0x8,0x30(%ebx)
507f7d:	b9 01 00 00 00       	mov    $0x1,%ecx
507f82:	ba 4b 00 00 00       	mov    $0x4b,%edx
507f87:	8b c3                	mov    %ebx,%eax
507f89:	e8 ee fe ff ff       	call   0x507e7c
507f8e:	8b c3                	mov    %ebx,%eax
507f90:	e8 53 ff ff ff       	call   0x507ee8
507f95:	33 d2                	xor    %edx,%edx
507f97:	8d 43 70             	lea    0x70(%ebx),%eax
507f9a:	c6 00 00             	movb   $0x0,(%eax)
507f9d:	c6 40 10 01          	movb   $0x1,0x10(%eax)
507fa1:	c6 40 20 05          	movb   $0x5,0x20(%eax)
507fa5:	42                   	inc    %edx
507fa6:	40                   	inc    %eax
507fa7:	83 fa 10             	cmp    $0x10,%edx
507faa:	7c ee                	jl     0x507f9a
507fac:	33 d2                	xor    %edx,%edx
507fae:	33 c9                	xor    %ecx,%ecx
507fb0:	89 93 a4 00 00 00    	mov    %edx,0xa4(%ebx)
507fb6:	89 8b a0 00 00 00    	mov    %ecx,0xa0(%ebx)
507fbc:	33 c0                	xor    %eax,%eax
507fbe:	33 d2                	xor    %edx,%edx
507fc0:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
507fc6:	33 c9                	xor    %ecx,%ecx
507fc8:	89 93 ac 00 00 00    	mov    %edx,0xac(%ebx)
507fce:	89 8b b0 00 00 00    	mov    %ecx,0xb0(%ebx)
507fd4:	83 7b 30 08          	cmpl   $0x8,0x30(%ebx)
507fd8:	7e 0a                	jle    0x507fe4
507fda:	c7 83 b0 00 00 00 01 	movl   $0x1,0xb0(%ebx)
507fe1:	00 00 00
507fe4:	33 c0                	xor    %eax,%eax
507fe6:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
507fec:	33 d2                	xor    %edx,%edx
507fee:	89 93 b8 00 00 00    	mov    %edx,0xb8(%ebx)
507ff4:	33 c9                	xor    %ecx,%ecx
507ff6:	89 8b bc 00 00 00    	mov    %ecx,0xbc(%ebx)
507ffc:	33 c0                	xor    %eax,%eax
507ffe:	89 83 c0 00 00 00    	mov    %eax,0xc0(%ebx)
508004:	33 d2                	xor    %edx,%edx
508006:	89 93 c4 00 00 00    	mov    %edx,0xc4(%ebx)
50800c:	c6 83 cc 00 00 00 00 	movb   $0x0,0xcc(%ebx)
508013:	66 c7 83 ce 00 00 00 	movw   $0x1,0xce(%ebx)
50801a:	01 00
50801c:	66 c7 83 d0 00 00 00 	movw   $0x1,0xd0(%ebx)