Can you find the villain's password? Background
You work for the police force as a programmer.
A villain has planted a bomb in the city, luckily the police force has captured both him and the bomb. The bomb is really complicated to disarm, however it has a password input to disarm it.
The villain, being cocky, has told you that there was no way you'd find the password as you'd take X time to brute force it. You notice that the keyboard can only input english letters (lower and upper case) and digits.
Task
Assuming you can try Y passwords per second, and that the brute force character order would be a-z A-Z 0-9, you are to create either a full program or a function that takes as input both X (in seconds) and Y (passwords/second) and outputs the villain's password.
X can be a float but Y will always be an integer.
(X*Y should always be an integer)
Your code has to solve the problem using math instead of relying on trying several options or creating huge arrays and simply indexing them with X*Y.
Example in JS
var c=&quot;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&quot;;
var b=62;
function num(x){
    var n=0;
    while(x&gt;=0){
        x-=Math.pow(b,++n);
    }
    return n;
}
function reduce(x, n){
    while(--n&gt;0){
        x-=Math.pow(b,n);
    }
    return x;
}
function pass(x, y){
    x=x*y;
    x--;
    var p=[];
    var n=num(x);
    x = reduce(x, n);
    do{
        var t=x%b;
        x=(x-t)/b;
        p.unshift(t);
    }while(x&gt;0);
    return (&quot;a&quot;.repeat(n)+p.map(f=&gt;c[f]).join``).substr(-n);
}

Assuming my code is correct here are some example outputs.
(If there are any errors please tell me so that I can correct them)
pass(0.000, 1000); // &quot;&quot; or anything that won't be mistaken for a password
pass(0.001, 1000); // &quot;a&quot;
pass(0.002, 1000); // &quot;b&quot;
pass(0.027, 1000); // &quot;A&quot;

//A password that would take a year to brute force at 1000 passwords/second
pass(3600*24*365, 1000) // &quot;HzmZmr&quot;

My code is awful and ungolfed but it's only to serve as an example. Since this is code-golf shortest answer in bytes wins.
Jelly, 9 bytes

×ḃ62ịØWŒs


Try it online!

How?

×ḃ62ịØWŒs - Main link: X, Y
×         - multiply X by Y
 ḃ62      - convert to bijective base 62 (uses modulo arithmetic under the hood)
    ị     - index into (1-based)
     ØW   - word yield -&gt; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"
       Œs - swap case