char *hash_plugin_detailed(void) {
  return ("truecrypt - TrueCrypt encrypted block device plugin\n"
          "------------------------------------------------\n"
          "Use this module to crack TrueCrypt encrypted volumes\n"
          "Input should be a TrueCrypt device file specified with -f\n"
          "Additional options supplied using -A using the following format:\n"
          "-A "
          "hash_algo1,hash_algo2,..:ciper1,cipher2,...:[n[,h]]:[keyfile1,"
          "keyfile2,...]\n"
          "-A default[:keyfile,...] will use default hash/cipher, normal "
          "partition with optional keyfiles\n"
          "-A all[:keyfile,...] will use all algos, normal+hidden partition "
          "with optional keyfiles\n"
          "-A default,hidden[:keyfile,...] will use default hash/cipher, "
          "normal partition with optional keyfiles\n"
          "-A all,hidden[:keyfile,...] will use all algos, normal+hidden "
          "partition with optional keyfiles\n"
          "hash_algos are as follows:\n"
          "r - RIPEMD-160\n"
          "s - SHA-512\n"
          "w - Whirlpool\n\n"
          "Ciphers are as follows:\n"
          "a - AES\n"
          "t - Twofish\n"
          "s - Serpent\n"
          "at - AES-Twofish\n"
          "sa - Serpent-AES\n"
          "ts - Twofish-Serpent\n"
          "ats - AES-Twofish-Serpent\n"
          "sta - Serpent-Twofish-AES\n\n"
          "Volumes are as follows:\n"
          "n - check the volume provided with -f (default)\n"
          "h - check the hidden volume\n\n"
          "You can use one or more keyfiles.\n"
          "Example:\n"
          "-A w,s:a,t,s,at,sa:nh:keyfile - Use Whirlpool/SHA512 with "
          "AES/Serpent/Twofish/AES-Twofish/Serpent-AES, check normal and "
          "hidden volume with keyfile: keyfile\n\n"
          "Default is -A all\n\n"
          "Known software that uses this password hashing method:\n"
          "TrueCrypt\n"
          "\nAuthor: Milen Rangelov <gat3way@gat3way.eu>\n");
}


x86 assembly (clang, -O0):
<hash_plugin_detailed>:
push   %rbp
mov    %rsp,%rbp
lea    0xef5(%rip),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<hash_plugin_detailed>:
lea    0xef9(%rip),%rax
ret

LLVM IR (-O0):
@.str = [1400 x i8] c"truecrypt - TrueCrypt encrypted block device plugin\0A------------------------------------------------\0AUse this module to crack TrueCrypt encrypted volumes\0AInput should be a TrueCrypt device file specified with -f\0AAdditional options supplied using -A using the following format:\0A-A hash_algo1,hash_algo2,..:ciper1,cipher2,...:[n[,h]]:[keyfile1,keyfile2,...]\0A-A default[:keyfile,...] will use default hash/cipher, normal partition with optional keyfiles\0A-A all[:keyfile,...] will use all algos, normal+hidden partition with optional keyfiles\0A-A default,hidden[:keyfile,...] will use default hash/cipher, normal partition with optional keyfiles\0A-A all,hidden[:keyfile,...] will use all algos, normal+hidden partition with optional keyfiles\0Ahash_algos are as follows:\0Ar - RIPEMD-160\0As - SHA-512\0Aw - Whirlpool\0A\0ACiphers are as follows:\0Aa - AES\0At - Twofish\0As - Serpent\0Aat - AES-Twofish\0Asa - Serpent-AES\0Ats - Twofish-Serpent\0Aats - AES-Twofish-Serpent\0Asta - Serpent-Twofish-AES\0A\0AVolumes are as follows:\0An - check the volume provided with -f (default)\0Ah - check the hidden volume\0A\0AYou can use one or more keyfiles.\0AExample:\0A-A w,s:a,t,s,at,sa:nh:keyfile - Use Whirlpool/SHA512 with AES/Serpent/Twofish/AES-Twofish/Serpent-AES, check normal and hidden volume with keyfile: keyfile\0A\0ADefault is -A all\0A\0AKnown software that uses this password hashing method:\0ATrueCrypt\0A\0AAuthor: Milen Rangelov <gat3way@gat3way.eu>\0A\00"
define i8* @hash_plugin_detailed() {
ret i8* getelementptr inbounds ([1400 x i8], [1400 x i8]* @.str, i64 0, i64 0)
}

LLVM IR (-O2):
@.str = [1400 x i8] c"truecrypt - TrueCrypt encrypted block device plugin\0A------------------------------------------------\0AUse this module to crack TrueCrypt encrypted volumes\0AInput should be a TrueCrypt device file specified with -f\0AAdditional options supplied using -A using the following format:\0A-A hash_algo1,hash_algo2,..:ciper1,cipher2,...:[n[,h]]:[keyfile1,keyfile2,...]\0A-A default[:keyfile,...] will use default hash/cipher, normal partition with optional keyfiles\0A-A all[:keyfile,...] will use all algos, normal+hidden partition with optional keyfiles\0A-A default,hidden[:keyfile,...] will use default hash/cipher, normal partition with optional keyfiles\0A-A all,hidden[:keyfile,...] will use all algos, normal+hidden partition with optional keyfiles\0Ahash_algos are as follows:\0Ar - RIPEMD-160\0As - SHA-512\0Aw - Whirlpool\0A\0ACiphers are as follows:\0Aa - AES\0At - Twofish\0As - Serpent\0Aat - AES-Twofish\0Asa - Serpent-AES\0Ats - Twofish-Serpent\0Aats - AES-Twofish-Serpent\0Asta - Serpent-Twofish-AES\0A\0AVolumes are as follows:\0An - check the volume provided with -f (default)\0Ah - check the hidden volume\0A\0AYou can use one or more keyfiles.\0AExample:\0A-A w,s:a,t,s,at,sa:nh:keyfile - Use Whirlpool/SHA512 with AES/Serpent/Twofish/AES-Twofish/Serpent-AES, check normal and hidden volume with keyfile: keyfile\0A\0ADefault is -A all\0A\0AKnown software that uses this password hashing method:\0ATrueCrypt\0A\0AAuthor: Milen Rangelov <gat3way@gat3way.eu>\0A\00"
define i8* @hash_plugin_detailed() {
ret i8* getelementptr inbounds ([1400 x i8], [1400 x i8]* @.str, i64 0, i64 0)
}