// File: /workspace/github_cpp_makefile_star2_O3/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 0x8b72(%rip), %r14      # 0x10fd8
leaq 0x3263(%rip), %rsi      # 0xb6d0
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x4042(%rip), %r15      # 0xc4c3
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3271(%rip), %rsi      # 0xb709
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3286(%rip), %rsi      # 0xb742
movl $0x36, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3299(%rip), %rsi      # 0xb779
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 0x329b(%rip), %rsi      # 0xb7af
movl $0x8, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8542
movq %rbx, %rdi
callq 0x20c0
movq 0x8aa3(%rip), %rdi      # 0x10fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x855a
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x8a77(%rip), %r14      # 0x10fd8
leaq 0x3250(%rip), %rsi      # 0xb7b8
movl $0xc, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x3f47(%rip), %r15      # 0xc4c3
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3232(%rip), %rsi      # 0xb7c5
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 0x3226(%rip), %rsi      # 0xb7ed
movl $0x28, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x322b(%rip), %rsi      # 0xb816
movl $0x3b, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3243(%rip), %rsi      # 0xb852
movl $0x33, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3253(%rip), %rsi      # 0xb886
movl $0x2e, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x325e(%rip), %rsi      # 0xb8b5
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 0x3263(%rip), %rsi      # 0xb8ee
movl $0x29, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3269(%rip), %rsi      # 0xb918
movl $0x48, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x328e(%rip), %rsi      # 0xb961
movl $0x27, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3292(%rip), %rsi      # 0xb989
movl $0x33, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x32a2(%rip), %rsi      # 0xb9bd
movl $0x47, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x32c6(%rip), %rsi      # 0xba05
movl $0x3b, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x32de(%rip), %rsi      # 0xba41
movl $0x2f, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x32ea(%rip), %rsi      # 0xba71
movl $0x31, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x32f8(%rip), %rsi      # 0xbaa3
movl $0x33, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3308(%rip), %rsi      # 0xbad7
movl $0x34, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3319(%rip), %rsi      # 0xbb0c
movl $0x42, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3338(%rip), %rsi      # 0xbb4f
movl $0x2f, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3344(%rip), %rsi      # 0xbb7f
movl $0x45, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3366(%rip), %r12      # 0xbbc5
movl $0x42, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3382(%rip), %rsi      # 0xbc08
movl $0x3b, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x339a(%rip), %rsi      # 0xbc44
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x33af(%rip), %rsi      # 0xbc7d
movl $0x39, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x33c5(%rip), %rsi      # 0xbcb7
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 0x33ba(%rip), %rsi      # 0xbcf0
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 0x33b7(%rip), %rsi      # 0xbd21
movl $0x7, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x339b(%rip), %rsi      # 0xbd29
movl $0x3d, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x33b5(%rip), %rsi      # 0xbd67
movl $0x15, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x33a7(%rip), %rsi      # 0xbd7d
movl $0x3d, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x33c1(%rip), %rsi      # 0xbdbb
movl $0x38, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x33d6(%rip), %rsi      # 0xbdf4
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 0x33e1(%rip), %rsi      # 0xbe33
movl $0xa, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x38ec(%rip), %rsi      # 0xc362
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8aa4
movq %rbx, %rdi
callq 0x20c0
movq 0x8541(%rip), %rdi      # 0x10fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8abc
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x8515(%rip), %r14      # 0x10fd8
leaq 0x3374(%rip), %rsi      # 0xbe3e
movl $0x18, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x39e5(%rip), %r15      # 0xc4c3
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3362(%rip), %rsi      # 0xbe57
movl $0x42, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3381(%rip), %rsi      # 0xbe9a
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 0x3815(%rip), %rsi      # 0xc362
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8b7b
movq %rbx, %rdi
callq 0x20c0
movq 0x846a(%rip), %rdi      # 0x10fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8b93
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x843e(%rip), %r14      # 0x10fd8
leaq 0x330d(%rip), %rsi      # 0xbeae
movl $0x23, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x390e(%rip), %r15      # 0xc4c3
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3306(%rip), %rsi      # 0xbed2
movl $0x44, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3327(%rip), %rsi      # 0xbf17
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 0x373e(%rip), %rsi      # 0xc362
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8c52
movq %rbx, %rdi
callq 0x20c0
movq 0x8393(%rip), %rdi      # 0x10fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8c6a
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
movq 0x8367(%rip), %r14      # 0x10fd8
leaq 0x32de(%rip), %rsi      # 0xbf56
movl $0x2b, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x3837(%rip), %r15      # 0xc4c3
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x32df(%rip), %rsi      # 0xbf82
movl $0x45, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x3301(%rip), %rsi      # 0xbfc8
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 0x3667(%rip), %rsi      # 0xc362
movl $0x2, %edx
movq %r14, %rdi
callq 0x21f0
testq %rbx, %rbx
je 0x8d29
movq %rbx, %rdi
callq 0x20c0
movq 0x82bc(%rip), %rdi      # 0x10fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8d41
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
leaq 0x32b9(%rip), %rsi      # 0xc001
movl $0xd, %edx
movq %r14, %rdi
callq 0x21f0
leaq 0x3767(%rip), %rbx      # 0xc4c3
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21f0
leaq 0x329c(%rip), %rsi      # 0xc00f
movl $0x44, %edx
movq %r14, %rdi
callq 0x21f0
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21f0
leaq 0x32bd(%rip), %rsi      # 0xc054
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