// File: ticky[P]ps2iconsys/src/iconsys_builder.cpp
// Function: PrintHelp(char*)
void PrintHelp(char* self)
{
	std::cout << "********************************************************"    << "\n"
		      << " *** PS2 Icon.Sys Builder  V-1.0                     ***"    << "\n"
		      << "  **  by Ghulbus Inc.  (http://www.ghulbus-inc.de/) **"      << "\n"
			  << "   **************************************************"       << "\n"
			  << "\n"
			  << " Usage: " << self << " [OPTION]..."                          << "\n"
			  << "Build or manipulate a PS2 icon.sys file"                     << "\n"
			  << "\n"
			  << "  -h, --help           display this help"                              << "\n"
			  << "  -f, --input-file     Existing icon.sys file used as input"           << "\n"
			  << "  -o, --output-file    Name of the destination file"                   << "\n"
			  << "  -v, --verbose        activate verbose output"                        << "\n"
			  << "  -l, --list-file      list the file data before writing"              << "\n"
			  << "\n"
			  << "   --set-title       Set the title string"                                << "\n"
			  << "   --title-linebreak Set the index in the title string where a linebreak" << "\n"
			  << "                     should be inserted"                                  << "\n"
			  << "   --set-icon        Set the standard icon filename"                      << "\n"
			  << "                      Implicitly changes copy and delete icons as well,"  << "\n"
			  << "                      unless they are specified explicitly."              << "\n"
			  << "   --set-copy-icon   Set the copy icon filename"                          << "\n"
			  << "   --set-delete-icon Set the delete icon filename"                        << "\n"
			  << "   --light-<n>       Set the direction of light <n>"                      << "\n"
			  << "                      <n> has to be one of 1, 2 or 3"                     << "\n"
			  << "                      Takes four parameters for each x, y, z and w"       << "\n"
			  << "   --lcolor-<n>      Set the color of light <n>"                          << "\n"
			  << "                      <n> has to be one of 1, 2, 3 or a (for ambient)"    << "\n"
			  << "                      Takes four parameters for each r, g, b and x"       << "\n"
			  << "   --color-<n>       Set the background color of corner <n>"              << "\n"
			  << "                      <n> has to be one of 1, 2, 3, or 4"                 << "\n"
			  << "                           1- Upper left, 2- Upper right,"                << "\n"
			  << "                           3- Lower left, 4- Lower right"                 << "\n"
			  << "                      Takes four parameters for each r, g, b and x"       << "\n"
			  << "   --set-opacity      Set the background opacity"                         << "\n"
			  << "\n"
			  << " Notes:"                                                                << "\n"
			  << " * If no output file is specified, all output will be written"          << "\n"
			  << "   to a file icon.sys"                                                  << "\n"
			  << " * If no input file is specified, default values will be used"          << "\n"
			  << "   for all values not explicitly specified as parameters"               << "\n"
			  << " * All color and opacity values have to be in a range [0..255]"         << "\n"
			  << "\n"
			  << " Examples:"                                                             << "\n"
			  << "  " << self << " --set-title \"Test Icon\""                             << "\n"
			  << "Creates a new default icon.sys with title \"Test Icon\" and saves it"   << "\n"
			  << "to a file icon.sys."                                                    << "\n"
			  << "\n"
			  << "  " << self << " -f myicon --lcolor-1 255 255 0 255"                    << "\n"
			  << "Opens the existing icon.sys in file myicon, changes the color of the"   << "\n"
			  << "first light source to yellow and saves the result to icon.sys."         << "\n"
			  << "\n"
			  << "  " << self << " -f myicon --set-icon my_icon.icn -o myicon"            << "\n"
			  << "Opens the existing file myicon, changes the standard, copy and delete"  << "\n"
			  << "icon to my_icon.icn and saves the result back to myicon."               << "\n"
			  << "\n"
			  << "  " << self << " -f myicon -l"                                          << "\n"
			  << "Prints a listing of the data in the existing file myicon and saves a"   << "\n"
			  << "copy to icon.sys."                                                      << "\n"
			  << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0xbc45(%rip), %rdi      # 0x1afd8
leaq 0x433c(%rip), %rsi      # 0x136d6
callq 0x21c0
movq %rax, %rdi
leaq 0x512c(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4357(%rip), %rsi      # 0x1370f
callq 0x21c0
movq %rax, %rdi
leaq 0x510e(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4372(%rip), %rsi      # 0x13748
callq 0x21c0
movq %rax, %rdi
leaq 0x50f0(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x438b(%rip), %rsi      # 0x1377f
callq 0x21c0
movq %rax, %rdi
leaq 0x50d2(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x50c3(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4394(%rip), %rsi      # 0x137b5
callq 0x21c0
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x4382(%rip), %rsi      # 0x137be
callq 0x21c0
movq %rax, %rdi
leaq 0x508a(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4371(%rip), %rsi      # 0x137cb
callq 0x21c0
movq %rax, %rdi
leaq 0x506c(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x505d(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x436c(%rip), %rsi      # 0x137f3
callq 0x21c0
movq %rax, %rdi
leaq 0x503f(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4377(%rip), %rsi      # 0x1381c
callq 0x21c0
movq %rax, %rdi
leaq 0x5021(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4395(%rip), %rsi      # 0x13858
callq 0x21c0
movq %rax, %rdi
leaq 0x5003(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x43ab(%rip), %rsi      # 0x1388c
callq 0x21c0
movq %rax, %rdi
leaq 0x4fe5(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x43bc(%rip), %rsi      # 0x138bb
callq 0x21c0
movq %rax, %rdi
leaq 0x4fc7(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4fb8(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x43c8(%rip), %rsi      # 0x138f4
callq 0x21c0
movq %rax, %rdi
leaq 0x4f9a(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x43d4(%rip), %rsi      # 0x1391e
callq 0x21c0
movq %rax, %rdi
leaq 0x4f7c(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x43ff(%rip), %rsi      # 0x13967
callq 0x21c0
movq %rax, %rdi
leaq 0x4f5e(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4409(%rip), %rsi      # 0x1398f
callq 0x21c0
movq %rax, %rdi
leaq 0x4f40(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x441f(%rip), %rsi      # 0x139c3
callq 0x21c0
movq %rax, %rdi
leaq 0x4f22(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4449(%rip), %rsi      # 0x13a0b
callq 0x21c0
movq %rax, %rdi
leaq 0x4f04(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4467(%rip), %rsi      # 0x13a47
callq 0x21c0
movq %rax, %rdi
leaq 0x4ee6(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4479(%rip), %rsi      # 0x13a77
callq 0x21c0
movq %rax, %rdi
leaq 0x4ec8(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x448d(%rip), %rsi      # 0x13aa9
callq 0x21c0
movq %rax, %rdi
leaq 0x4eaa(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x44a3(%rip), %rsi      # 0x13add
callq 0x21c0
movq %rax, %rdi
leaq 0x4e8c(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x44ba(%rip), %rsi      # 0x13b12
callq 0x21c0
movq %rax, %rdi
leaq 0x4e6e(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x44df(%rip), %rsi      # 0x13b55
callq 0x21c0
movq %rax, %rdi
leaq 0x4e50(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x44f1(%rip), %rsi      # 0x13b85
callq 0x21c0
movq %rax, %rdi
leaq 0x4e32(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4519(%rip), %rsi      # 0x13bcb
callq 0x21c0
movq %rax, %rdi
leaq 0x4e14(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x453e(%rip), %rsi      # 0x13c0e
callq 0x21c0
movq %rax, %rdi
leaq 0x4df6(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x455c(%rip), %rsi      # 0x13c4a
callq 0x21c0
movq %rax, %rdi
leaq 0x4dd8(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4577(%rip), %rsi      # 0x13c83
callq 0x21c0
movq %rax, %rdi
leaq 0x4dba(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4593(%rip), %rsi      # 0x13cbd
callq 0x21c0
movq %rax, %rdi
leaq 0x4d9c(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4483(%rip), %rsi      # 0x13bcb
callq 0x21c0
movq %rax, %rdi
leaq 0x4d7e(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4590(%rip), %rsi      # 0x13cf6
callq 0x21c0
movq %rax, %rdi
leaq 0x4d60(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4d51(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4594(%rip), %rsi      # 0x13d27
callq 0x21c0
movq %rax, %rdi
leaq 0x4d33(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x457e(%rip), %rsi      # 0x13d2f
callq 0x21c0
movq %rax, %rdi
leaq 0x4d15(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x459e(%rip), %rsi      # 0x13d6d
callq 0x21c0
movq %rax, %rdi
leaq 0x4cf7(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4596(%rip), %rsi      # 0x13d83
callq 0x21c0
movq %rax, %rdi
leaq 0x4cd9(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45b6(%rip), %rsi      # 0x13dc1
callq 0x21c0
movq %rax, %rdi
leaq 0x4cbb(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45d1(%rip), %rsi      # 0x13dfa
callq 0x21c0
movq %rax, %rdi
leaq 0x4c9d(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4c8e(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45e3(%rip), %rsi      # 0x13e39
callq 0x21c0
movq %rax, %rdi
leaq 0x4c70(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4b00(%rip), %rsi      # 0x14374
callq 0x21c0
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x45b5(%rip), %rsi      # 0x13e44
callq 0x21c0
movq %rax, %rdi
leaq 0x4c37(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45b0(%rip), %rsi      # 0x13e5d
callq 0x21c0
movq %rax, %rdi
leaq 0x4c19(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45d5(%rip), %rsi      # 0x13ea0
callq 0x21c0
movq %rax, %rdi
leaq 0x4bfb(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4bec(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4a7c(%rip), %rsi      # 0x14374
callq 0x21c0
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x45a1(%rip), %rsi      # 0x13eb4
callq 0x21c0
movq %rax, %rdi
leaq 0x4bb3(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45a7(%rip), %rsi      # 0x13ed8
callq 0x21c0
movq %rax, %rdi
leaq 0x4b95(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45ce(%rip), %rsi      # 0x13f1d
callq 0x21c0
movq %rax, %rdi
leaq 0x4b77(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4b68(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x49f8(%rip), %rsi      # 0x14374
callq 0x21c0
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x45c5(%rip), %rsi      # 0x13f5c
callq 0x21c0
movq %rax, %rdi
leaq 0x4b2f(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45d3(%rip), %rsi      # 0x13f88
callq 0x21c0
movq %rax, %rdi
leaq 0x4b11(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45fb(%rip), %rsi      # 0x13fce
callq 0x21c0
movq %rax, %rdi
leaq 0x4af3(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4ae4(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4974(%rip), %rsi      # 0x14374
callq 0x21c0
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x45ec(%rip), %rsi      # 0x14007
callq 0x21c0
movq %rax, %rdi
leaq 0x4aab(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x45dc(%rip), %rsi      # 0x14015
callq 0x21c0
movq %rax, %rdi
leaq 0x4a8d(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
leaq 0x4603(%rip), %rsi      # 0x1405a
callq 0x21c0
movq %rax, %rdi
leaq 0x4a6f(%rip), %rsi      # 0x144d5
callq 0x21c0
movq %rax, %rdi
movq 0xb54b(%rip), %rsi      # 0x1afc0
callq 0x21f0
addq $0x10, %rsp
popq %rbp
retq