// File: /workspace/github_cpp_makefile_star2_O3/bluesky466[P]ResourcesParser/main.cpp
// Function: main
int main(int argc, char *argv[]) {
	const char* path = getArgv("-p", argv, argc);
	const char* type = getArgv("-t", argv, argc);
	const char* id = getArgv("-i", argv, argc);
	int all = findArgvIndex("-a", argv, argc);

	if(nullptr == path) {
		printHelp();
		return -1;
	} else if(getArgv("-h", argv, argc) != nullptr) {
		printHelp();
	}

	ResourcesParser parser(path);
	ResourcesParserInterpreter interpreter(&parser);

	if(all >= 0) {
		interpreter.parserResource(ResourcesParserInterpreter::ALL_TYPE);
	}

	if(type) {
		interpreter.parserResource(type);
	}

	if(id) {
		interpreter.parserId(id);
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rsi, %r13
movl %edi, %r12d
leaq 0x7717(%rip), %rdi      # 0xb004
movl %r12d, %edx
callq 0x3b07
movq %rax, %r15
leaq 0x7708(%rip), %rdi      # 0xb007
movq %r13, %rsi
movl %r12d, %edx
callq 0x3b07
movq %rax, %r14
leaq 0x76f6(%rip), %rdi      # 0xb00a
movq %r13, %rsi
movl %r12d, %edx
callq 0x3b07
movq %rax, -0x58(%rbp)
testl %r12d, %r12d
jle 0x3961
movl %r12d, %eax
decq %rax
xorl %ecx, %ecx
movq (%r13,%rcx,8), %rsi
movzbl (%rsi), %edx
subl $0x2d, %edx
jne 0x394a
movzbl 0x1(%rsi), %edx
subl $0x61, %edx
jne 0x394a
movzbl 0x2(%rsi), %edx
negl %edx
testl %edx, %edx
sete %bl
je 0x3963
leaq 0x1(%rcx), %rdx
cmpq %rcx, %rax
movq %rdx, %rcx
jne 0x3930
jmp 0x3963
xorl %ebx, %ebx
testq %r15, %r15
je 0x3aa3
leaq 0x769a(%rip), %rdi      # 0xb00d
movq %r13, %rsi
movl %r12d, %edx
callq 0x3b07
testq %rax, %rax
je 0x3988
callq 0x3bc0
leaq -0x40(%rbp), %r12
movq %r12, -0x10(%r12)
movq %r15, %rdi
callq 0x30e0
movq %r15, %rdx
addq %rax, %rdx
leaq -0x50(%rbp), %rdi
movq %r15, %rsi
callq 0x3ede
leaq -0xf0(%rbp), %r15
leaq -0x50(%rbp), %rsi
movq %r15, %rdi
callq 0x64f6
movq -0x50(%rbp), %rdi
cmpq %r12, %rdi
je 0x39cc
callq 0x31c0
movq %r15, -0x30(%rbp)
testb %bl, %bl
je 0x39e4
leaq 0xb7fd(%rip), %rsi      # 0xf1d8
leaq -0x30(%rbp), %rdi
callq 0x3f7c
testq %r14, %r14
movq -0x58(%rbp), %rbx
je 0x3a28
leaq -0x50(%rbp), %r15
movq %r12, (%r15)
movq %r14, %rdi
callq 0x30e0
movq %r14, %rdx
addq %rax, %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x3ede
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x3f7c
movq -0x50(%rbp), %rdi
cmpq %r12, %rdi
je 0x3a28
callq 0x31c0
testq %rbx, %rbx
je 0x3a68
leaq -0x50(%rbp), %r14
movq %r12, (%r14)
movq %rbx, %rdi
callq 0x30e0
movq %rbx, %rdx
addq %rax, %rdx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3ede
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x4e46
movq -0x50(%rbp), %rdi
cmpq %r12, %rdi
je 0x3a68
callq 0x31c0
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x3a76
callq 0x31c0
leaq -0xa0(%rbp), %rdi
callq 0x3d76
leaq -0xd0(%rbp), %rbx
movq %rbx, %rdi
callq 0x3e48
movq -0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x3a9f
callq 0x3ddc
xorl %eax, %eax
jmp 0x3aad
callq 0x3bc0
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3ad8
jmp 0x3ac5
jmp 0x3ad8
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r12, %rdi
je 0x3adb
callq 0x31c0
jmp 0x3adb
movq %rax, %rbx
leaq -0xf0(%rbp), %rdi
callq 0x3d24
jmp 0x3aff
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r12, %rdi
je 0x3aff
callq 0x31c0
jmp 0x3aff
movq %rax, %rbx
movq %rbx, %rdi
callq 0x3330