#include <stdio.h>
#include <string.h>
#include <stdint.h>
int main() {
char local_58[] = {
-0x1f, -0x59, 0x1e, -8, 'u', '#', '{', 'a', -0x47, -99, -4, 'Z', '[', -0x21, 'i',
0xd2, -2, 0x1b, -0x13, -0xc, -0x13, 'g', -0xc
};
char password[28] = {0}; // 27文字 + NULL終端子
// check関数をシミュレート
int local_1c = 0;
int local_20 = 0;
for (uint32_t local_24 = 0; local_24 < 0x17; local_24++) {
for (int local_28 = 0; local_28 < 8; local_28++) {
if (local_20 == 0) {
local_20 = 1;
}
uint32_t local_30 = 1 << (7U - (char)local_28 & 0x1f);
uint32_t local_34 = 1 << (7U - (char)local_20 & 0x1f);
int expected_bit = (local_58[local_24] & local_30) != 0;
password[local_1c] |= (expected_bit << (7 - local_20));
local_20++;
if (local_20 == 8) {
local_20 = 0;
local_1c++;
}
if (local_1c == 27) {
break;
}
}
if (local_1c == 27) {
break;
}
}
printf("The password is: %s\n", password
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgoKaW50IG1haW4oKSB7CiAgICBjaGFyIGxvY2FsXzU4W10gPSB7CiAgICAgICAgLTB4MWYsIC0weDU5LCAweDFlLCAtOCwgJ3UnLCAnIycsICd7JywgJ2EnLCAtMHg0NywgLTk5LCAtNCwgJ1onLCAnWycsIC0weDIxLCAnaScsCiAgICAgICAgMHhkMiwgLTIsIDB4MWIsIC0weDEzLCAtMHhjLCAtMHgxMywgJ2cnLCAtMHhjCiAgICB9OwoKICAgIGNoYXIgcGFzc3dvcmRbMjhdID0gezB9OyAvLyAyN+aWh+WtlyArIE5VTEzntYLnq6/lrZAKCiAgICAvLyBjaGVja+mWouaVsOOCkuOCt+ODn+ODpeODrOODvOODiAogICAgaW50IGxvY2FsXzFjID0gMDsKICAgIGludCBsb2NhbF8yMCA9IDA7CgogICAgZm9yICh1aW50MzJfdCBsb2NhbF8yNCA9IDA7IGxvY2FsXzI0IDwgMHgxNzsgbG9jYWxfMjQrKykgewogICAgICAgIGZvciAoaW50IGxvY2FsXzI4ID0gMDsgbG9jYWxfMjggPCA4OyBsb2NhbF8yOCsrKSB7CiAgICAgICAgICAgIGlmIChsb2NhbF8yMCA9PSAwKSB7CiAgICAgICAgICAgICAgICBsb2NhbF8yMCA9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHVpbnQzMl90IGxvY2FsXzMwID0gMSA8PCAoN1UgLSAoY2hhcilsb2NhbF8yOCAmIDB4MWYpOwogICAgICAgICAgICB1aW50MzJfdCBsb2NhbF8zNCA9IDEgPDwgKDdVIC0gKGNoYXIpbG9jYWxfMjAgJiAweDFmKTsKCgogICAgICAgICAgICBpbnQgZXhwZWN0ZWRfYml0ID0gKGxvY2FsXzU4W2xvY2FsXzI0XSAmIGxvY2FsXzMwKSAhPSAwOwogICAgICAgICAgICBwYXNzd29yZFtsb2NhbF8xY10gfD0gKGV4cGVjdGVkX2JpdCA8PCAoNyAtIGxvY2FsXzIwKSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBsb2NhbF8yMCsrOwogICAgICAgICAgICBpZiAobG9jYWxfMjAgPT0gOCkgewogICAgICAgICAgICAgICAgbG9jYWxfMjAgPSAwOwogICAgICAgICAgICAgICAgbG9jYWxfMWMrKzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGxvY2FsXzFjID09IDI3KSB7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgIGlmIChsb2NhbF8xYyA9PSAyNykgewogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCJUaGUgcGFzc3dvcmQgaXM6ICVzXG4iLCBwYXNzd29yZCk7CiAgICByZXR1cm4gMDsKfQ==