It's a bit hard to help and correct what you did wrong as you are not showing any indications why you think specific function are what you think they are but let's try (I'll do this purely via static analysis).
The main function was correctly identified. It is the one at offset
115: int main (int argc, char **argv, char **envp);
│ 0x00401180 55 push ebp
but the rest is wrong.
If we look at the code in the main function especially around the call to your first identified function we can see.
0x00401193 50 push eax
0x00401194 6800214000 push str.Enter_Your_Pass_Key_:__n ; 0x402100 ; "Enter Your Pass Key : \n" ; int32_t arg_8h
0x00401199 e8b2feffff call fcn.00401050
From the arguments passed to this function (const string "Enter Your Pass Key") we could indicate that the function at offset
0x1050 is more like a printing function than one that validates your input.
Also further code that looks like this
0x004011a4 51 push ecx ; int32_t arg_ch
0x004011a5 6818214000 push 0x402118 ; "%s" ; int32_t arg_8h
0x004011aa e811ffffff call fcn.004010c0
indicates that here we take the input from the user so it would be hard to validate it before getting it.
Spotting function that does the validation is also simple in this task, as it is just before some comparison and printing good/bad info.
In here the comparison is at
0x11c1 and the function before is
0x0401100 and it takes the user input as an argument. So that's good indicators that it is the validation.
And inside this function we can see that a interesting string is being loaded to a local variable
0x0040110d c745f4f82040. mov dword [var_ch], str.elite ; 0x4020f8 ; "elite"
and later it is being compared (byte by byte) with our input. So the valid input is for this program is "elite".