// File: occivink[P]pyct/pyct.cpp
// Function: print_help()
void print_help() {
    cerr << "A symmetric encryption program that uses argon2 password hashing.\n";
    cerr << "\n";
    cerr << "USAGE: pyct <SUBCOMMAND> [OPTIONS]\n";
    cerr << "\n";
    cerr << "SUBCOMMANDS:\n";
    cerr << "    encrypt    Encrypts the data passed on standard input\n";
    cerr << "    decrypt    Decrypts the pyct-encrypted data passed on standard input\n";
    cerr << "    hash       Prints the hashed password, for use with later invocations of pyct\n";
    cerr << "\n";
    cerr << "OPTIONS [generic]:\n";
    cerr << "        --input-data-fd <FD>        File descriptor from which to read the input data (0 by default)\n";
    cerr << "    -b, --base-64                   When encrypting, produce base64 output\n";
    cerr << "                                    When decrypting, assumes that the input is base64\n";
    cerr << "    -l, --padded-length <LENGTH>    Pad the input data to be LENGTH bytes long. Only when encrypting\n";
    cerr << "        --hash-fd <FD>              File descriptor from which to read the hash\n";
    cerr << "        --non-interactive           Do not prompt for password\n";
    cerr << "                                    Will abort if --pass-fd or --hash-fd is not specified\n";
    cerr << "        --no-confirm                Do not confirm password input when encrypting\n";
    cerr << "    -h, --help                      Print this help message\n";
    cerr << "OPTIONS [password hashing]:\n";
    cerr << "    -s, --salt <SALT>               Use SALT for password hashing. Must be at least 8 characters\n";
    cerr << "        --pass-fd <FD>              File descriptor from which to read the password\n";
    cerr << "        --work-area-size <SIZE>     Memory used for hashing [default 128M]\n";
    cerr << "        --iterations <N>            Number of iterations [default 10]\n";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0xde6d(%rip), %rdi      # 0x23fe8
leaq 0x71ff(%rip), %rsi      # 0x1d381
callq 0x32c0
movq 0xde5a(%rip), %rdi      # 0x23fe8
leaq 0x73b1(%rip), %rsi      # 0x1d546
callq 0x32c0
movq 0xde47(%rip), %rdi      # 0x23fe8
leaq 0x721c(%rip), %rsi      # 0x1d3c4
callq 0x32c0
movq 0xde34(%rip), %rdi      # 0x23fe8
leaq 0x738b(%rip), %rsi      # 0x1d546
callq 0x32c0
movq 0xde21(%rip), %rdi      # 0x23fe8
leaq 0x721a(%rip), %rsi      # 0x1d3e8
callq 0x32c0
movq 0xde0e(%rip), %rdi      # 0x23fe8
leaq 0x7215(%rip), %rsi      # 0x1d3f6
callq 0x32c0
movq 0xddfb(%rip), %rdi      # 0x23fe8
leaq 0x723d(%rip), %rsi      # 0x1d431
callq 0x32c0
movq 0xdde8(%rip), %rdi      # 0x23fe8
leaq 0x7274(%rip), %rsi      # 0x1d47b
callq 0x32c0
movq 0xddd5(%rip), %rdi      # 0x23fe8
leaq 0x732c(%rip), %rsi      # 0x1d546
callq 0x32c0
movq 0xddc2(%rip), %rdi      # 0x23fe8
leaq 0x72a1(%rip), %rsi      # 0x1d4ce
callq 0x32c0
movq 0xddaf(%rip), %rdi      # 0x23fe8
leaq 0x72a2(%rip), %rsi      # 0x1d4e2
callq 0x32c0
movq 0xdd9c(%rip), %rdi      # 0x23fe8
leaq 0x72f5(%rip), %rsi      # 0x1d548
callq 0x32c0
movq 0xdd89(%rip), %rdi      # 0x23fe8
leaq 0x732e(%rip), %rsi      # 0x1d594
callq 0x32c0
movq 0xdd76(%rip), %rdi      # 0x23fe8
leaq 0x7372(%rip), %rsi      # 0x1d5eb
callq 0x32c0
movq 0xdd63(%rip), %rdi      # 0x23fe8
leaq 0x73c5(%rip), %rsi      # 0x1d651
callq 0x32c0
movq 0xdd50(%rip), %rdi      # 0x23fe8
leaq 0x7403(%rip), %rsi      # 0x1d6a2
callq 0x32c0
movq 0xdd3d(%rip), %rdi      # 0x23fe8
leaq 0x7430(%rip), %rsi      # 0x1d6e2
callq 0x32c0
movq 0xdd2a(%rip), %rdi      # 0x23fe8
leaq 0x7478(%rip), %rsi      # 0x1d73d
callq 0x32c0
movq 0xdd17(%rip), %rdi      # 0x23fe8
leaq 0x74b8(%rip), %rsi      # 0x1d790
callq 0x32c0
movq 0xdd04(%rip), %rdi      # 0x23fe8
leaq 0x74e2(%rip), %rsi      # 0x1d7cd
callq 0x32c0
movq 0xdcf1(%rip), %rdi      # 0x23fe8
leaq 0x74ec(%rip), %rsi      # 0x1d7ea
callq 0x32c0
movq 0xdcde(%rip), %rdi      # 0x23fe8
leaq 0x753b(%rip), %rsi      # 0x1d84c
callq 0x32c0
movq 0xdccb(%rip), %rdi      # 0x23fe8
leaq 0x757d(%rip), %rsi      # 0x1d8a1
callq 0x32c0
movq 0xdcb8(%rip), %rdi      # 0x23fe8
leaq 0x75b6(%rip), %rsi      # 0x1d8ed
callq 0x32c0
popq %rbp
retq
nop