// File: moya-lang[P]Arguments/./Arguments.h
// Function: Moya::System::Arguments::Parser::parseParameters(Moya::System::Arguments::Command const&)
bool parseParameters(const Command &command)
        {
            if (syntax.commands.size() > 1)
                insert({ "/", command.identifier });

            const size_t numberOfArguments = arguments.getNumberOfArguments();
            size_t argumentIndex = syntax.commands.size() == 1 ? 1 : 2;
            while (argumentIndex < numberOfArguments) {

                const Parameter *parameter = syntax.findParameterByName(command, arguments[argumentIndex++]);
                if (!parameter || argumentIndex + !!parameter->hasValue > numberOfArguments)
                    return false;

                std::string value = parameter->hasValue ? arguments[argumentIndex++] : "";
                if (!insert({ "/" + parameter->identifier, value }).second)
                    return false;
            }

            return areAllRequiredParametersSpecified(command);
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x148(%rbp)
movq 0x30(%rax), %rdi
addq $0x40, %rdi
callq 0x4040
cmpq $0x1, %rax
jbe 0x45e7
movq -0x18(%rbp), %rdx
leaq 0x4ad9(%rip), %rsi      # 0x9055
leaq -0x58(%rbp), %rdi
movq %rdi, -0x160(%rbp)
callq 0x56b0
movq -0x148(%rbp), %rdi
movq -0x160(%rbp), %rsi
callq 0x4a30
movb %dl, -0x151(%rbp)
movq %rax, -0x150(%rbp)
jmp 0x45ae
movb -0x151(%rbp), %al
movq -0x150(%rbp), %rcx
movq %rcx, -0x78(%rbp)
movb %al, -0x70(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x4b50
jmp 0x45e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x4b50
jmp 0x48ee
movq -0x148(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x4a10
movq %rax, %rcx
movq -0x148(%rbp), %rax
movq %rcx, -0x80(%rbp)
movq 0x30(%rax), %rdi
addq $0x40, %rdi
callq 0x4040
movq %rax, %rdx
movl $0x2, %eax
movl $0x1, %ecx
cmpq $0x1, %rdx
cmovel %ecx, %eax
cltq
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpq -0x80(%rbp), %rax
jae 0x48cb
movq -0x148(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, -0x170(%rbp)
movq -0x18(%rbp), %rcx
movq %rcx, -0x168(%rbp)
movq 0x38(%rax), %rdi
movq -0x88(%rbp), %rsi
movq %rsi, %rax
addq $0x1, %rax
movq %rax, -0x88(%rbp)
callq 0x4070
movq -0x170(%rbp), %rdi
movq -0x168(%rbp), %rsi
movq %rax, %rdx
callq 0x5750
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x90(%rbp)
je 0x46c8
movq -0x88(%rbp), %rax
movq -0x90(%rbp), %rcx
movb 0x61(%rcx), %cl
xorb $-0x1, %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
addq %rcx, %rax
cmpq -0x80(%rbp), %rax
jbe 0x46d1
movb $0x0, -0x1(%rbp)
jmp 0x48e0
movq -0x90(%rbp), %rax
testb $0x1, 0x61(%rax)
je 0x470c
movq -0x148(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x88(%rbp), %rsi
movq %rsi, %rax
addq $0x1, %rax
movq %rax, -0x88(%rbp)
callq 0x4070
movq %rax, -0x178(%rbp)
jmp 0x471c
leaq 0x496a(%rip), %rax      # 0x907d
movq %rax, -0x178(%rbp)
jmp 0x471c
movq -0x178(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x33a0
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
leaq -0xb0(%rbp), %rdi
callq 0x37b0
jmp 0x4759
leaq -0xb1(%rbp), %rdi
callq 0x3260
movq -0x90(%rbp), %rdx
leaq 0x48e2(%rip), %rsi      # 0x9055
leaq -0x128(%rbp), %rdi
callq 0x57f0
jmp 0x4781
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
callq 0x5900
jmp 0x479d
movq -0x148(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x4a30
movb %dl, -0x191(%rbp)
movq %rax, -0x190(%rbp)
jmp 0x47bf
movb -0x191(%rbp), %al
movq -0x190(%rbp), %rcx
movq %rcx, -0x138(%rbp)
movb %al, -0x130(%rbp)
movq -0x138(%rbp), %rax
movq %rax, -0xc8(%rbp)
movb -0x130(%rbp), %al
movb %al, -0xc0(%rbp)
movb -0xc0(%rbp), %al
xorb $-0x1, %al
movb %al, -0x192(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x4b50
leaq -0x128(%rbp), %rdi
callq 0x3140
movb -0x192(%rbp), %al
testb $0x1, %al
jne 0x4825
jmp 0x4894
movb $0x0, -0x1(%rbp)
movl $0x1, -0x13c(%rbp)
jmp 0x489e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb1(%rbp), %rdi
callq 0x3260
jmp 0x48ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x48bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4886
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x4b50
leaq -0x128(%rbp), %rdi
callq 0x3140
jmp 0x48bd
movl $0x0, -0x13c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x3140
movl -0x13c(%rbp), %eax
testl %eax, %eax
je 0x48b8
jmp 0x48b6
jmp 0x48e0
jmp 0x462f
leaq -0xb0(%rbp), %rdi
callq 0x3140
jmp 0x48ee
movq -0x148(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5960
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x3390
nopw (%rax,%rax)