// File: /workspace/github_c_makefile_star2_O0/hcmiya[P]opuscomment/src/main.c
// Function: usage
static void usage(void) {
	char revision[64];
	strftime(revision, 64, "%x", &(struct tm){
		.tm_year = OPUSCOMMENT_REVISION_YEAR,
		.tm_mon = OPUSCOMMENT_REVISION_MONTH,
		.tm_mday = OPUSCOMMENT_REVISION_DAY,
	});
	fprintf(stderr, catgets(catd, 6, 3, "Version: %s (rev. %s)\n"), OPUSCOMMENT_VERSION, revision);
	fputc('\n', stderr);
	
	fprintf(stderr, catgets(catd, 6, 4,
"Synopsys:\n"
"    %1$s [-l] [-C codec] [-i idx] [-0DepQRUvV~] srcfile\n"
"    %1$s {-a|-w} [-C codec] [-i idx] [-g gain|-s scale] [-0e] [-c tagfile] [-t NAME=VALUE ...] [-d NAME[=VALUE] ...] [-1DQprRUv] srcfile [output]\n"
"    %1$s [-h]\n"
"\n"
"Options:\n"
"    -l    List mode\n"
"    -a    Append mode\n"
"    -w    Write mode\n"
"    -h    Print this message and exit\n"
"    -C codec\n"
"          Select codec\n"
"    -i idx\n"
"          Specify %2$s index for editing in multiplexed Ogg stream\n"
"          (1-origin, without non-%2$s stream)\n"
"    -R    Assume tag IO to be encoded in UTF-8\n"
"    -~    Use '~', not <tab> for escaping line feed\n"
"    -e    Use escape sequence; \\\\, \\n, \\r and \\0\n"
"    -0    Use '\\0' separation for tag IO\n"
"    -t NAME=VALUE\n"
"          Add the argument as a tag\n"
"    -c tagfile\n"
"          In list mode, write tags to tagfile.\n"
"          In append/write mode, read tags from tagfile.\n"
"    -d NAME[=VALUE]\n"
"          Delete tags matched with the argument from srcfile.\n"
"          When VALUE is omitted, All of NAME is removed. Implies -a, -U\n"
"    -p    Supress editing for METADATA_BLOCK_PICTURE\n"
"    -U    Convert field name stored in srcfile to uppercase\n"
"    -V    Verify tags stored in srcfile\n"
"    -T    Return error when tag input is not terminated by line feed\n"
"    -D    In list mode, defer tag output until comment packet is built.\n"
"          Implies -V.\n"
"          In append/write mode, return error when tag input is empty.\n"
"          Implies -T\n"
	), program_name, default_codec->name);
	if (!default_codec->prog) {
		fprintf(stderr, catgets(catd, 6, 5,
"    -g gain\n"
"          Specify output gain in dB\n"
"    -s scale\n"
"          Specify output gain in scale for PCM samples.\n"
"          1 for same scale. 0.5 for half.\n"
"    -r    Specify that the gain is relative to internal value\n"
"    -1    When output gain becomes 0 by converting to internal representation,\n"
"          set [+-]1/256 dB instead\n"
"    -Q    Use Q7.8 format for editing output gain\n"
"    -v    Put output gain to stderr\n"
		));
	}
	exit(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
leaq -0x40(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x78(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x21b0
movq -0x90(%rbp), %rdi
movl $0x7, -0x6c(%rbp)
movl $0x8, -0x68(%rbp)
movl $0x77, -0x64(%rbp)
movl $0x40, %esi
leaq 0x189b(%rip), %rdx      # 0xa719
leaq -0x78(%rbp), %rcx
callq 0x23c0
movq 0x416a(%rip), %rax      # 0xcff8
movq (%rax), %rax
movq %rax, -0x88(%rbp)
movq 0x14821(%rip), %rdi     # 0x1d6c0
movl $0x6, %esi
movl $0x3, %edx
leaq 0x186c(%rip), %rcx      # 0xa71c
callq 0x2460
movq -0x88(%rbp), %rdi
movq %rax, %rsi
leaq -0x40(%rbp), %rcx
leaq 0x1869(%rip), %rdx      # 0xa733
movb $0x0, %al
callq 0x2290
movq 0x4120(%rip), %rax      # 0xcff8
movq (%rax), %rsi
movl $0xa, %edi
callq 0x2210
movq 0x410c(%rip), %rax      # 0xcff8
movq (%rax), %rax
movq %rax, -0x80(%rbp)
movq 0x147c6(%rip), %rdi     # 0x1d6c0
movl $0x6, %esi
movl $0x4, %edx
leaq 0x182f(%rip), %rcx      # 0xa73a
callq 0x2460
movq -0x80(%rbp), %rdi
movq %rax, %rsi
movq 0x1478a(%rip), %rdx     # 0x1d6a8
movq 0x14793(%rip), %rax     # 0x1d6b8
movq 0x10(%rax), %rcx
movb $0x0, %al
callq 0x2290
movq 0x14781(%rip), %rax     # 0x1d6b8
cmpq $0x0, 0x8(%rax)
jne 0x8f7d
movq 0x40b3(%rip), %rax      # 0xcff8
movq (%rax), %rax
movq %rax, -0x98(%rbp)
movq 0x1476a(%rip), %rdi     # 0x1d6c0
movl $0x6, %esi
movl $0x5, %edx
leaq 0x1d5f(%rip), %rcx      # 0xacc6
callq 0x2460
movq -0x98(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x2290
movl $0x1, %edi
callq 0x2480
nopw (%rax,%rax)