// File: GAStudyGroup[P]GPX2/src/args/Arg.cpp
// Function: Arg::processRequired()
void Arg::processRequired(){
    bool error{false};
    string errorMsg{""};
    for(Argument a : arguments){
        if(a.getRequired() && a.getOption().empty()){
            if(error){
                errorMsg += "\n";
            }
            error = true;
            errorMsg += "Required argument: "+a.getArg()[0];
        }
    }
    throwException(errorMsg);
}

// Assembly:
subq $0x158, %rsp            # imm = 0x158
movq %rdi, 0x150(%rsp)
movq 0x150(%rsp), %rax
movq %rax, 0x8(%rsp)
movb $0x0, 0x14f(%rsp)
leaq 0x127(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x6860
movq 0x10(%rsp), %rdx
leaq 0x2cd12(%rip), %rsi     # 0x759f4
leaq 0x128(%rsp), %rdi
callq 0x92b0
jmp 0x48cf1
leaq 0x127(%rsp), %rdi
callq 0x6520
movq 0x8(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x108(%rsp), %rdi
callq 0x49740
movq %rax, 0x100(%rsp)
movq 0x108(%rsp), %rdi
callq 0x49770
movq %rax, 0xf8(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x497a0
testb $0x1, %al
jne 0x48d53
jmp 0x48f3c
leaq 0x100(%rsp), %rdi
callq 0x497e0
movq %rax, %rsi
leaq 0x98(%rsp), %rdi
callq 0x497f0
jmp 0x48d72
movb $0x0, 0x77(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x498a0
movb %al, 0x7(%rsp)
jmp 0x48d8a
movb 0x7(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x6(%rsp)
jne 0x48d9b
jmp 0x48dc2
leaq 0x78(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x498b0
jmp 0x48daf
movb $0x1, 0x77(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x67b0
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
movb %al, 0x5(%rsp)
testb $0x1, 0x77(%rsp)
jne 0x48dd3
jmp 0x48ddd
leaq 0x78(%rsp), %rdi
callq 0x6988
movb 0x5(%rsp), %al
testb $0x1, %al
jne 0x48dea
jmp 0x48f0e
testb $0x1, 0x14f(%rsp)
je 0x48e64
leaq 0x2ca53(%rip), %rsi     # 0x7584e
leaq 0x128(%rsp), %rdi
callq 0x6490
jmp 0x48e0a
jmp 0x48e64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0x127(%rsp), %rdi
callq 0x6520
jmp 0x48fab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0x48f9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0x48f2d
movb $0x1, 0x14f(%rsp)
leaq 0x38(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x498e0
jmp 0x48e80
xorl %eax, %eax
movl %eax, %esi
leaq 0x38(%rsp), %rdi
callq 0x49910
movq %rax, %rdx
leaq 0x2c95e(%rip), %rsi     # 0x757f6
leaq 0x50(%rsp), %rdi
callq 0x189f0
jmp 0x48ea4
leaq 0x128(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x6620
jmp 0x48eb8
leaq 0x50(%rsp), %rdi
callq 0x6988
leaq 0x38(%rsp), %rdi
callq 0xa2c0
jmp 0x48f0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0x48f02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x6988
leaq 0x38(%rsp), %rdi
callq 0xa2c0
jmp 0x48f2d
leaq 0x98(%rsp), %rdi
callq 0xa280
leaq 0x100(%rsp), %rdi
callq 0x49930
jmp 0x48d35
leaq 0x98(%rsp), %rdi
callq 0xa280
jmp 0x48f9e
leaq 0x18(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x6200
jmp 0x48f50
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x48fc0
jmp 0x48f61
leaq 0x18(%rsp), %rdi
callq 0x6988
leaq 0x128(%rsp), %rdi
callq 0x6988
addq $0x158, %rsp            # imm = 0x158
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0x18(%rsp), %rdi
callq 0x6988
leaq 0x128(%rsp), %rdi
callq 0x6988
movq 0x118(%rsp), %rdi
callq 0x6850
nopl (%rax,%rax)