Rating: 5.0

# OpenMePloxx
The binary checks argv[1] for the correct password. Through analyzing main function, the checks are as follows:

* length of the password is `0x36 == 54`
* first part of the password is `d4rk{`
* last part of the password is `}c0de`
* inside of the curly braces has three parts starting with `0x` and with length `0xe == 14` and seperated with `-`

Three parts inside the curly braces are obviously hex values. This is also verified by the string2hex conversion in the main function. The last check concerns the hex values:

*(shifts are circular)*
* `val1 >> 0xd == val2`
* `val2 >> 0x1d == val3`
* `val3 == 0x6ff76dfeb3f4`

constructing val2 and val1 using these rules, we get the flag:

`d4rk{0x537fbb6ff59f-0x567e9bfddb7f-0x6ff76dfeb3f4}c0de`