 #include <stdio.h>
 #include <stdint.h>
 #include <stdbool.h>
 #include <string.h>
 #include <sys/types.h>
 #include <signal.h>
 #include <sys/ptrace.h>

 // uVar4 = 1396505404 = 0x533CFB3C
 // uVar5 = 2294410125 = 0x88C1EB8D
 // uVar6 = 2929865363 = 0xAEA23293

uint8_t main(int argc, char** argv) {
    char* list = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-";
    uint32_t uVar4 = 1396505404;
    uint32_t uVar5 = 929308192;
    uint32_t uVar6 = 2929865363;
    char password[17];
    password[16] = '\0';
    password[0] = list[uVar6 >> 0x1a];
    password[1] = list[uVar6 >> 0x14 & 0x3f];
    password[2] = list[uVar6 >> 0xe & 0x3f];
     // [uVar6 >> 8 & 0x3f] ^ password[3] |
    password[3] = list[uVar6 >> 8 & 0x3f];
     // [uVar6 >> 2 & 0x3f] ^ password[4] |
    password[4] = list[uVar6 >> 2 & 0x3f];
     // [(uVar6 & 3) << 4 | uVar4 >> 0x1c] ^ password[5] |
    password[5] = list[(uVar6 & 3) << 4 | uVar4 >> 0x1c];
     // [uVar4 >> 0x16 & 0x3f] ^ password[6] |
    password[6] = list[uVar4 >> 0x16 & 0x3f];
     // [uVar4 >> 0x10 & 0x3f] ^ password[7] |
    password[7] = list[uVar4 >> 0x10 & 0x3f];
     // [uVar4 >> 10 & 0x3f] ^ password[8] |
    password[8] = list[uVar4 >> 10 & 0x3f];
     // [uVar4 >> 4 & 0x3f] ^ password[9] |
    password[9] = list[uVar4 >> 4 & 0x3f];
     // [uVar5 >> 0x1e | (uVar4 & 0xf) << 2] ^ password[10] |
    password[10] = list[uVar5 >> 0x1e | (uVar4 & 0xf) << 2];
     // [uVar5 >> 0x18 & 0x3f] ^ password[11] |
    password[11] = list[uVar5 >> 0x18 & 0x3f];
     // [uVar5 >> 0x12 & 0x3f] ^ password[12] |
    password[12] = list[uVar5 >> 0x12 & 0x3f];
     // [uVar5 >> 0xc & 0x3f] ^ password[13] |
    password[13] = list[uVar5 >> 0xc & 0x3f];
     // [uVar5 >> 6 & 0x3f] ^ password[14] |
    password[14] = list[uVar5 >> 6 & 0x3f];
     // [uVar5 & 0x3f] ^ password[15]
    password[15] = list[uVar5 & 0x3f];

    printf("%s\n", password);
    return 0;
}
