The “adminhash” query var is unusual, but it shouldn’t result in a options.php not found error. Can you access /wp-admin/options.php (as a simple browser GET request) without the query string? You should get a very lengthy “All Settings” page.
Do you have a security plugin or something that’s adding the “adminhash” query string? It could be the cause. If you cannot access options.php with a plain GET request, either your WP installation is corrupt or there’s some sort of security restriction on your server, such as modSecurity.
If all you need is to change the admin email, you can do an “end run” around whatever security restrictions are in place by directly editing the email in your DB via the phpMyAdmin app accessed through your hosting account. In the app, identify which DB is used by WP. Navigate to the options table (often “wp_options”). Locate the “admin_email” record and directly edit the record. After the change, click “Go” at the bottom of the page. By doing this, there’s no verification that the email is valid and can receive emails. Be sure the email address you use will work or you could miss out on important notifications.