// File: Luthaf[P]zeopp/arguments.cc
// Function: processFilename(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned int, unsigned int)
string processFilename(vector<string> command, string name, string file_type, unsigned int num_args_1, unsigned int num_args_2){
    if(command.size() == (num_args_1 + 1)){
        return string(name).append(file_type);
    }
    else if (command.size() == (num_args_2 + 1)){
        return string(command[num_args_2]);
    }
    else {
        cerr << "Error: " << command[0] << " option accepts " << num_args_1 << " or " << num_args_2
        << " arguments but " << command.size() - 1 << " arguments were supplied. " << "\n"
        << "Exiting..." << "\n";
        //    exit(1);
        return "";
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rcx, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq %rsi, -0x70(%rbp)
movq %rdi, %rax
movq -0x70(%rbp), %rdi
movq %rax, -0x68(%rbp)
movq %rax, %rsi
movq %rsi, -0x60(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movl %r9d, -0x28(%rbp)
callq 0x592f0
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
jne 0x17171a
movq -0x78(%rbp), %rsi
leaq -0x48(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x5220
movq -0x90(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x59d0
movq %rax, -0x88(%rbp)
jmp 0x1716e0
movq -0x88(%rbp), %rsi
movq -0x68(%rbp), %rdi
callq 0x5220
jmp 0x1716f2
leaq -0x48(%rbp), %rdi
callq 0x5300
jmp 0x171878
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5300
jmp 0x171885
movq -0x70(%rbp), %rdi
callq 0x592f0
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
jne 0x17174f
movq -0x70(%rbp), %rdi
movl -0x28(%rbp), %eax
movl %eax, %esi
callq 0x59310
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x5220
jmp 0x171878
movq 0x10189a(%rip), %rdi    # 0x272ff0
leaq 0x8da59(%rip), %rsi     # 0x1ff1b6
callq 0x5540
movq -0x70(%rbp), %rdi
movq %rax, -0xb0(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x59310
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x5480
movq %rax, %rdi
leaq 0x8da2f(%rip), %rsi     # 0x1ff1be
callq 0x5540
movq %rax, %rdi
movl -0x24(%rbp), %esi
callq 0x56f0
movq %rax, %rdi
leaq 0x8da26(%rip), %rsi     # 0x1ff1cf
callq 0x5540
movq %rax, %rdi
movl -0x28(%rbp), %esi
callq 0x56f0
movq %rax, %rdi
leaq 0x8da11(%rip), %rsi     # 0x1ff1d4
callq 0x5540
movq -0x70(%rbp), %rdi
movq %rax, -0xa8(%rbp)
callq 0x592f0
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x5160
movq %rax, %rdi
leaq 0x8d9f0(%rip), %rsi     # 0x1ff1e4
callq 0x5540
movq %rax, %rdi
leaq 0x87e22(%rip), %rsi     # 0x1f9625
movq %rsi, -0xa0(%rbp)
callq 0x5540
movq %rax, %rdi
leaq 0x89b01(%rip), %rsi     # 0x1fb31a
callq 0x5540
movq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x5540
leaq -0x55(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x5900
movq -0x68(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x81d7d(%rip), %rsi     # 0x1f35cc
callq 0x47530
jmp 0x171856
leaq -0x55(%rbp), %rdi
callq 0x55d0
jmp 0x171878
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x55(%rbp), %rdi
callq 0x55d0
jmp 0x171885
movq -0x60(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x58f0
nop