// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x98aa(%rip), %r14      # 0x11fd8
leaq 0x3f3b(%rip), %rsi      # 0xc670
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x4d26(%rip), %r15      # 0xd46f
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f49(%rip), %rsi      # 0xc6a9
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f5e(%rip), %rsi      # 0xc6e2
movl $0x36, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f71(%rip), %rsi      # 0xc719
movl $0x35, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f73(%rip), %rsi      # 0xc74f
movl $0x8, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x880a
movq %rbx, %rdi
callq 0x20c0
movq 0x97db(%rip), %rdi      # 0x11fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8822
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x97af(%rip), %r14      # 0x11fd8
leaq 0x3f28(%rip), %rsi      # 0xc758
movl $0xc, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x4c2b(%rip), %r15      # 0xd46f
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f0a(%rip), %rsi      # 0xc765
movl $0x27, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3efe(%rip), %rsi      # 0xc78d
movl $0x28, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f03(%rip), %rsi      # 0xc7b6
movl $0x3b, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f1b(%rip), %rsi      # 0xc7f2
movl $0x33, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f2b(%rip), %rsi      # 0xc826
movl $0x2e, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f36(%rip), %rsi      # 0xc855
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f3b(%rip), %rsi      # 0xc88e
movl $0x29, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f41(%rip), %rsi      # 0xc8b8
movl $0x48, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f66(%rip), %rsi      # 0xc901
movl $0x27, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f6a(%rip), %rsi      # 0xc929
movl $0x33, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f7a(%rip), %rsi      # 0xc95d
movl $0x47, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3f9e(%rip), %rsi      # 0xc9a5
movl $0x3b, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fb6(%rip), %rsi      # 0xc9e1
movl $0x2f, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fc2(%rip), %rsi      # 0xca11
movl $0x31, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fd0(%rip), %rsi      # 0xca43
movl $0x33, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fe0(%rip), %rsi      # 0xca77
movl $0x34, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3ff1(%rip), %rsi      # 0xcaac
movl $0x42, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4010(%rip), %rsi      # 0xcaef
movl $0x2f, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x401c(%rip), %rsi      # 0xcb1f
movl $0x45, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x403e(%rip), %r12      # 0xcb65
movl $0x42, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x405a(%rip), %rsi      # 0xcba8
movl $0x3b, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4072(%rip), %rsi      # 0xcbe4
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4087(%rip), %rsi      # 0xcc1d
movl $0x39, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x409d(%rip), %rsi      # 0xcc57
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x42, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4092(%rip), %rsi      # 0xcc90
movl $0x30, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x408f(%rip), %rsi      # 0xccc1
movl $0x7, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4073(%rip), %rsi      # 0xccc9
movl $0x3d, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x408d(%rip), %rsi      # 0xcd07
movl $0x15, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x407f(%rip), %rsi      # 0xcd1d
movl $0x3d, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4099(%rip), %rsi      # 0xcd5b
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x40ae(%rip), %rsi      # 0xcd94
movl $0x3e, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x40b9(%rip), %rsi      # 0xcdd3
movl $0xa, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x45d0(%rip), %rsi      # 0xd30e
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8d6c
movq %rbx, %rdi
callq 0x20c0
movq 0x9279(%rip), %rdi      # 0x11fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8d84
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x924d(%rip), %r14      # 0x11fd8
leaq 0x404c(%rip), %rsi      # 0xcdde
movl $0x18, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x46c9(%rip), %r15      # 0xd46f
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x403a(%rip), %rsi      # 0xcdf7
movl $0x42, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4059(%rip), %rsi      # 0xce3a
movl $0x13, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x44f9(%rip), %rsi      # 0xd30e
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8e43
movq %rbx, %rdi
callq 0x20c0
movq 0x91a2(%rip), %rdi      # 0x11fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8e5b
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x9176(%rip), %r14      # 0x11fd8
leaq 0x3fe5(%rip), %rsi      # 0xce4e
movl $0x23, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x45f2(%rip), %r15      # 0xd46f
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fde(%rip), %rsi      # 0xce72
movl $0x44, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fff(%rip), %rsi      # 0xceb7
movl $0x3e, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x4422(%rip), %rsi      # 0xd30e
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8f1a
movq %rbx, %rdi
callq 0x20c0
movq 0x90cb(%rip), %rdi      # 0x11fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8f32
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x909f(%rip), %r14      # 0x11fd8
leaq 0x3fb6(%rip), %rsi      # 0xcef6
movl $0x2b, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x451b(%rip), %r15      # 0xd46f
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fb7(%rip), %rsi      # 0xcf22
movl $0x45, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3fd9(%rip), %rsi      # 0xcf68
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x434b(%rip), %rsi      # 0xd30e
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8ff1
movq %rbx, %rdi
callq 0x20c0
movq 0x8ff4(%rip), %rdi      # 0x11fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x9009
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
leaq 0x3f91(%rip), %rsi      # 0xcfa1
movl $0xd, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x444b(%rip), %rbx      # 0xd46f
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21f0
leaq 0x3f74(%rip), %rsi      # 0xcfaf
movl $0x44, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21f0
leaq 0x3f95(%rip), %rsi      # 0xcff4
movl $0x11, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21f0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x2120