461c6e:	57                   	push   %edi
461c6f:	8b 7d 08             	mov    0x8(%ebp),%edi
461c72:	8b d9                	mov    %ecx,%ebx
461c74:	83 3f 01             	cmpl   $0x1,(%edi)
461c77:	75 0d                	jne    0x461c86
461c79:	8d 47 04             	lea    0x4(%edi),%eax
461c7c:	50                   	push   %eax
461c7d:	e8 d6 41 fb ff       	call   0x415e58
461c82:	8b f0                	mov    %eax,%esi
461c84:	eb 03                	jmp    0x461c89
461c86:	8b 77 18             	mov    0x18(%edi),%esi
461c89:	6a 0c                	push   $0xc
461c8b:	81 e6 ff 03 00 00    	and    $0x3ff,%esi
461c91:	e8 60 f3 fb ff       	call   0x420ff6
461c96:	8b d0                	mov    %eax,%edx
461c98:	59                   	pop    %ecx
461c99:	89 55 08             	mov    %edx,0x8(%ebp)
461c9c:	83 22 00             	andl   $0x0,(%edx)
461c9f:	89 7a 08             	mov    %edi,0x8(%edx)
461ca2:	8b 4b 14             	mov    0x14(%ebx),%ecx
461ca5:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
461ca8:	85 c0                	test   %eax,%eax
461caa:	75 05                	jne    0x461cb1
461cac:	21 42 04             	and    %eax,0x4(%edx)
461caf:	eb 05                	jmp    0x461cb6
461cb1:	89 42 04             	mov    %eax,0x4(%edx)
461cb4:	89 10                	mov    %edx,(%eax)
461cb6:	8b 43 14             	mov    0x14(%ebx),%eax
461cb9:	89 14 b0             	mov    %edx,(%eax,%esi,4)
461cbc:	8d 45 08             	lea    0x8(%ebp),%eax
461cbf:	8b 4b 10             	mov    0x10(%ebx),%ecx
461cc2:	50                   	push   %eax
461cc3:	e8 6d db 00 00       	call   0x46f835
461cc8:	5f                   	pop    %edi
461cc9:	5e                   	pop    %esi
461cca:	5b                   	pop    %ebx
461ccb:	5d                   	pop    %ebp
461ccc:	c2 04 00             	ret    $0x4
461ccf:	55                   	push   %ebp
461cd0:	8b ec                	mov    %esp,%ebp
461cd2:	83 ec 20             	sub    $0x20,%esp
461cd5:	53                   	push   %ebx
461cd6:	56                   	push   %esi
461cd7:	57                   	push   %edi
461cd8:	8b f1                	mov    %ecx,%esi
461cda:	68 00 10 00 00       	push   $0x1000
461cdf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
461ce2:	e8 0f f3 fb ff       	call   0x420ff6
461ce7:	8b f8                	mov    %eax,%edi
461ce9:	6a 10                	push   $0x10
461ceb:	89 7d e0             	mov    %edi,-0x20(%ebp)
461cee:	e8 03 f3 fb ff       	call   0x420ff6
461cf3:	59                   	pop    %ecx
461cf4:	59                   	pop    %ecx
461cf5:	85 c0                	test   %eax,%eax
461cf7:	74 11                	je     0x461d0a
461cf9:	ff 76 10             	push   0x10(%esi)
461cfc:	8b c8                	mov    %eax,%ecx
461cfe:	e8 fe fc ff ff       	call   0x461a01
461d03:	8b d0                	mov    %eax,%edx
461d05:	89 45 fc             	mov    %eax,-0x4(%ebp)
461d08:	eb 05                	jmp    0x461d0f
461d0a:	33 d2                	xor    %edx,%edx
461d0c:	89 55 fc             	mov    %edx,-0x4(%ebp)
461d0f:	8b 42 08             	mov    0x8(%edx),%eax
461d12:	33 db                	xor    %ebx,%ebx
461d14:	89 45 f4             	mov    %eax,-0xc(%ebp)
461d17:	8b cf                	mov    %edi,%ecx
461d19:	89 5d ec             	mov    %ebx,-0x14(%ebp)
461d1c:	89 7d f8             	mov    %edi,-0x8(%ebp)
461d1f:	83 21 00             	andl   $0x0,(%ecx)
461d22:	8b 46 14             	mov    0x14(%esi),%eax
461d25:	8b 1c 03             	mov    (%ebx,%eax,1),%ebx
461d28:	85 db                	test   %ebx,%ebx
461d2a:	0f 84 b8 00 00 00    	je     0x461de8
461d30:	8b 75 f8             	mov    -0x8(%ebp),%esi
461d33:	6a 0c                	push   $0xc
461d35:	e8 bc f2 fb ff       	call   0x420ff6
461d3a:	83 3e 00             	cmpl   $0x0,(%esi)
461d3d:	59                   	pop    %ecx
461d3e:	89 45 f0             	mov    %eax,-0x10(%ebp)
461d41:	75 02                	jne    0x461d45
461d43:	89 06                	mov    %eax,(%esi)
461d45:	83 20 00             	andl   $0x0,(%eax)
461d48:	83 60 04 00          	andl   $0x0,0x4(%eax)
461d4c:	6a 28                	push   $0x28
461d4e:	e8 a3 f2 fb ff       	call   0x420ff6
461d53:	8b f8                	mov    %eax,%edi
461d55:	59                   	pop    %ecx
461d56:	85 ff                	test   %edi,%edi
461d58:	74 0a                	je     0x461d64
461d5a:	8d 4f 04             	lea    0x4(%edi),%ecx
461d5d:	e8 65 5a fa ff       	call   0x4077c7
461d62:	eb 02                	jmp    0x461d66
461d64:	33 ff                	xor    %edi,%edi
461d66:	8b 45 f0             	mov    -0x10(%ebp),%eax
461d69:	89 78 08             	mov    %edi,0x8(%eax)
461d6c:	8b 4b 08             	mov    0x8(%ebx),%ecx
461d6f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
461d72:	8b 01                	mov    (%ecx),%eax
461d74:	89 07                	mov    %eax,(%edi)
461d76:	8b 41 18             	mov    0x18(%ecx),%eax
461d79:	89 47 18             	mov    %eax,0x18(%edi)
461d7c:	8b 41 1c             	mov    0x1c(%ecx),%eax
461d7f:	89 47 1c             	mov    %eax,0x1c(%edi)
461d82:	8d 41 04             	lea    0x4(%ecx),%eax
461d85:	50                   	push   %eax
461d86:	8d 4f 04             	lea    0x4(%edi),%ecx
461d89:	e8 19 64 fa ff       	call   0x4081a7
461d8e:	6a 10                	push   $0x10
461d90:	e8 61 f2 fb ff       	call   0x420ff6
461d95:	59                   	pop    %ecx
461d96:	85 c0                	test   %eax,%eax
461d98:	74 0f                	je     0x461da9
461d9a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
461d9d:	ff 71 20             	push   0x20(%ecx)
461da0:	8b c8                	mov    %eax,%ecx
461da2:	e8 24 80 fa ff       	call   0x409dcb
461da7:	eb 02                	jmp    0x461dab
461da9:	33 c0                	xor    %eax,%eax
461dab:	8b 55 fc             	mov    -0x4(%ebp),%edx
461dae:	33 c9                	xor    %ecx,%ecx
461db0:	89 47 20             	mov    %eax,0x20(%edi)
461db3:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
461db6:	7e 1f                	jle    0x461dd7
461db8:	8b 7a 04             	mov    0x4(%edx),%edi
461dbb:	8b 07                	mov    (%edi),%eax
461dbd:	39 18                	cmp    %ebx,(%eax)
461dbf:	74 0b                	je     0x461dcc
461dc1:	41                   	inc    %ecx
461dc2:	83 c7 04             	add    $0x4,%edi
461dc5:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
461dc8:	7c f1                	jl     0x461dbb
461dca:	eb 0b                	jmp    0x461dd7
461dcc:	8b 42 04             	mov    0x4(%edx),%eax
461dcf:	8b 04 88             	mov    (%eax,%ecx,4),%eax
461dd2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
461dd5:	89 08                	mov    %ecx,(%eax)
461dd7:	8b 5b 04             	mov    0x4(%ebx),%ebx
461dda:	85 db                	test   %ebx,%ebx
461ddc:	0f 85 51 ff ff ff    	jne    0x461d33
461de2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
461de5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
461de8:	8b 5d ec             	mov    -0x14(%ebp),%ebx
461deb:	83 c1 04             	add    $0x4,%ecx
461dee:	83 c3 04             	add    $0x4,%ebx
461df1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
461df4:	89 5d ec             	mov    %ebx,-0x14(%ebp)
461df7:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
461dfd:	0f 8c 1c ff ff ff    	jl     0x461d1f
461e03:	8b 4d 08             	mov    0x8(%ebp),%ecx
461e06:	8b 45 e0             	mov    -0x20(%ebp),%eax
461e09:	89 46 14             	mov    %eax,0x14(%esi)
461e0c:	89 56 10             	mov    %edx,0x10(%esi)
461e0f:	8b 41 08             	mov    0x8(%ecx),%eax
461e12:	89 46 08             	mov    %eax,0x8(%esi)
461e15:	8b 41 0c             	mov    0xc(%ecx),%eax
461e18:	5f                   	pop    %edi
461e19:	89 46 0c             	mov    %eax,0xc(%esi)
461e1c:	5e                   	pop    %esi
461e1d:	5b                   	pop    %ebx
461e1e:	8b e5                	mov    %ebp,%esp
461e20:	5d                   	pop    %ebp
461e21:	c2 04 00             	ret    $0x4
461e24:	55                   	push   %ebp
461e25:	8b ec                	mov    %esp,%ebp
461e27:	56                   	push   %esi
461e28:	8b 75 08             	mov    0x8(%ebp),%esi
461e2b:	57                   	push   %edi
461e2c:	8b f9                	mov    %ecx,%edi
461e2e:	8b ce                	mov    %esi,%ecx
461e30:	83 7e 0c 04          	cmpl   $0x4,0xc(%esi)
461e34:	75 11                	jne    0x461e47
461e36:	e8 5c 7b fa ff       	call   0x409997
461e3b:	ff 76 08             	push   0x8(%esi)
461e3e:	8b cf                	mov    %edi,%ecx
461e40:	e8 1b 00 00 00       	call   0x461e60
461e45:	eb 0e                	jmp    0x461e55
461e47:	e8 fa 7e fa ff       	call   0x409d46
461e4c:	52                   	push   %edx
461e4d:	50                   	push   %eax
461e4e:	8b cf                	mov    %edi,%ecx
461e50:	e8 75 00 00 00       	call   0x461eca
461e55:	85 c0                	test   %eax,%eax
461e57:	5f                   	pop    %edi
461e58:	0f 95 c0             	setne  %al
461e5b:	5e                   	pop    %esi
461e5c:	5d                   	pop    %ebp
461e5d:	c2 04 00             	ret    $0x4
461e60:	55                   	push   %ebp
461e61:	8b ec                	mov    %esp,%ebp
461e63:	51                   	push   %ecx
461e64:	51                   	push   %ecx
461e65:	8d 45 fc             	lea    -0x4(%ebp),%eax
461e68:	50                   	push   %eax
461e69:	8d 45 f8             	lea    -0x8(%ebp),%eax
461e6c:	50                   	push   %eax
461e6d:	ff 75 08             	push   0x8(%ebp)
461e70:	e8 06 00 00 00       	call   0x461e7b
461e75:	8b e5                	mov    %ebp,%esp
461e77:	5d                   	pop    %ebp
461e78:	c2 04 00             	ret    $0x4
461e7b:	55                   	push   %ebp
461e7c:	8b ec                	mov    %esp,%ebp
461e7e:	56                   	push   %esi
461e7f:	57                   	push   %edi
461e80:	ff 75 08             	push   0x8(%ebp)
461e83:	8b f1                	mov    %ecx,%esi
461e85:	e8 ce 3f fb ff       	call   0x415e58
461e8a:	8b 55 10             	mov    0x10(%ebp),%edx
461e8d:	25 ff 03 00 00       	and    $0x3ff,%eax
461e92:	8b 4e 14             	mov    0x14(%esi),%ecx
461e95:	8b 7d 0c             	mov    0xc(%ebp),%edi
461e98:	89 02                	mov    %eax,(%edx)
461e9a:	8b 34 81             	mov    (%ecx,%eax,4),%esi
461e9d:	83 27 00             	andl   $0x0,(%edi)
461ea0:	eb 15                	jmp    0x461eb7
461ea2:	8b 4e 08             	mov    0x8(%esi),%ecx
461ea5:	8b 55 08             	mov    0x8(%ebp),%edx
461ea8:	83 c1 04             	add    $0x4,%ecx
461eab:	e8 39 40 fb ff       	call   0x415ee9
461eb0:	84 c0                	test   %al,%al
461eb2:	75 0f                	jne    0x461ec3
461eb4:	8b 76 04             	mov    0x4(%esi),%esi
461eb7:	85 f6                	test   %esi,%esi
461eb9:	75 e7                	jne    0x461ea2
461ebb:	33 c0                	xor    %eax,%eax
461ebd:	5f                   	pop    %edi
461ebe:	5e                   	pop    %esi
461ebf:	5d                   	pop    %ebp
461ec0:	c2 0c 00             	ret    $0xc
461ec3:	8b 46 08             	mov    0x8(%esi),%eax
461ec6:	89 37                	mov    %esi,(%edi)
461ec8:	eb f3                	jmp    0x461ebd
461eca:	55                   	push   %ebp
461ecb:	8b ec                	mov    %esp,%ebp
461ecd:	51                   	push   %ecx
461ece:	51                   	push   %ecx
461ecf:	8d 45 fc             	lea    -0x4(%ebp),%eax
461ed2:	50                   	push   %eax
461ed3:	8d 45 f8             	lea    -0x8(%ebp),%eax
461ed6:	50                   	push   %eax
461ed7:	ff 75 0c             	push   0xc(%ebp)
461eda:	ff 75 08             	push   0x8(%ebp)
461edd:	e8 06 00 00 00       	call   0x461ee8
461ee2:	8b e5                	mov    %ebp,%esp
461ee4:	5d                   	pop    %ebp
461ee5:	c2 08 00             	ret    $0x8
461ee8:	55                   	push   %ebp
461ee9:	8b ec                	mov    %esp,%ebp
461eeb:	8b 45 14             	mov    0x14(%ebp),%eax
461eee:	56                   	push   %esi
461eef:	57                   	push   %edi
461ef0:	8b 7d 08             	mov    0x8(%ebp),%edi
461ef3:	8b d7                	mov    %edi,%edx
461ef5:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
461efb:	89 10                	mov    %edx,(%eax)
461efd:	8b 41 14             	mov    0x14(%ecx),%eax
461f00:	8b 4d 10             	mov    0x10(%ebp),%ecx
461f03:	8b 04 90             	mov    (%eax,%edx,4),%eax
461f06:	83 21 00             	andl   $0x0,(%ecx)
461f09:	85 c0                	test   %eax,%eax
461f0b:	74 17                	je     0x461f24
461f0d:	8b 75 0c             	mov    0xc(%ebp),%esi
461f10:	8b 50 08             	mov    0x8(%eax),%edx
461f13:	39 7a 18             	cmp    %edi,0x18(%edx)
461f16:	75 05                	jne    0x461f1d
461f18:	39 72 1c             	cmp    %esi,0x1c(%edx)
461f1b:	74 0f                	je     0x461f2c
461f1d:	8b 40 04             	mov    0x4(%eax),%eax
461f20:	85 c0                	test   %eax,%eax
461f22:	75 ec                	jne    0x461f10
461f24:	33 c0                	xor    %eax,%eax
461f26:	5f                   	pop    %edi
461f27:	5e                   	pop    %esi
461f28:	5d                   	pop    %ebp
461f29:	c2 10 00             	ret    $0x10
461f2c:	89 01                	mov    %eax,(%ecx)
461f2e:	8b c2                	mov    %edx,%eax
461f30:	eb f4                	jmp    0x461f26
461f32:	55                   	push   %ebp
461f33:	8b ec                	mov    %esp,%ebp
461f35:	51                   	push   %ecx
461f36:	57                   	push   %edi
461f37:	ff 75 0c             	push   0xc(%ebp)
461f3a:	8b f9                	mov    %ecx,%edi
461f3c:	e8 44 fc ff ff       	call   0x461b85
461f41:	ff 75 08             	push   0x8(%ebp)
461f44:	8b cf                	mov    %edi,%ecx
461f46:	e8 15 ff ff ff       	call   0x461e60
461f4b:	85 c0                	test   %eax,%eax
461f4d:	74 05                	je     0x461f54
461f4f:	8b 40 20             	mov    0x20(%eax),%eax
461f52:	eb 31                	jmp    0x461f85
461f54:	83 7d 0c 08          	cmpl   $0x8,0xc(%ebp)
461f58:	74 17                	je     0x461f71
461f5a:	83 7d 0c 20          	cmpl   $0x20,0xc(%ebp)
461f5e:	74 11                	je     0x461f71
461f60:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
461f64:	75 07                	jne    0x461f6d
461f66:	e8 77 04 00 00       	call   0x4623e2
461f6b:	eb 18                	jmp    0x461f85
461f6d:	33 c0                	xor    %eax,%eax
461f6f:	eb 14                	jmp    0x461f85
461f71:	6a 01                	push   $0x1
461f73:	51                   	push   %ecx
461f74:	e8 69 04 00 00       	call   0x4623e2
461f79:	59                   	pop    %ecx
461f7a:	50                   	push   %eax
461f7b:	ff 75 08             	push   0x8(%ebp)
461f7e:	8b cf                	mov    %edi,%ecx
461f80:	e8 e7 05 00 00       	call   0x46256c
461f85:	5f                   	pop    %edi
461f86:	59                   	pop    %ecx
461f87:	5d                   	pop    %ebp
461f88:	c2 08 00             	ret    $0x8
461f8b:	55                   	push   %ebp
461f8c:	8b ec                	mov    %esp,%ebp
461f8e:	57                   	push   %edi
461f8f:	ff 75 10             	push   0x10(%ebp)
461f92:	8b f9                	mov    %ecx,%edi
461f94:	e8 ec fb ff ff       	call   0x461b85
461f99:	ff 75 0c             	push   0xc(%ebp)
461f9c:	8b cf                	mov    %edi,%ecx
461f9e:	ff 75 08             	push   0x8(%ebp)
461fa1:	e8 24 ff ff ff       	call   0x461eca
461fa6:	85 c0                	test   %eax,%eax
461fa8:	74 05                	je     0x461faf
461faa:	8b 40 20             	mov    0x20(%eax),%eax
461fad:	eb 33                	jmp    0x461fe2
461faf:	83 7d 10 08          	cmpl   $0x8,0x10(%ebp)
461fb3:	74 17                	je     0x461fcc
461fb5:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
461fb9:	74 11                	je     0x461fcc
461fbb:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
461fbf:	75 07                	jne    0x461fc8
461fc1:	e8 1c 04 00 00       	call   0x4623e2
461fc6:	eb 1a                	jmp    0x461fe2
461fc8:	33 c0                	xor    %eax,%eax
461fca:	eb 16                	jmp    0x461fe2
461fcc:	51                   	push   %ecx
461fcd:	51                   	push   %ecx
461fce:	e8 0f 04 00 00       	call   0x4623e2
461fd3:	59                   	pop    %ecx
461fd4:	50                   	push   %eax
461fd5:	ff 75 0c             	push   0xc(%ebp)
461fd8:	8b cf                	mov    %edi,%ecx
461fda:	ff 75 08             	push   0x8(%ebp)
461fdd:	e8 24 06 00 00       	call   0x462606
461fe2:	5f                   	pop    %edi