// File: /workspace/github_cpp_makefile_star2_O3/tscott8706[P]cpp-csv-col-replacer/src/CsvProcessor.cpp
// Function: CsvProcessor::replaceAllCols(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::string CsvProcessor::replaceAllCols(int colNum,
    const std::string &replaceVal)
{
    std::string line;
    std::string word;
    std::string output;

    while (getline(inputData, line))
    {
        std::istringstream colProcessor(line);
        for (int col = 0; col < numCols; col++)
        {
            checkedGetNextWord(word, colProcessor, line, (col != numCols - 1));
            output += (determineNextColWord(col, colNum, replaceVal, word) +
                getOutputWordDelimiter(col));
        }
    }

    return output;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
movl %edx, 0x14(%rsp)
movq %rsi, %r12
leaq 0x88(%rsp), %rdx
movq %rdx, -0x10(%rdx)
xorl %eax, %eax
movq %rax, -0x8(%rdx)
movb %al, (%rdx)
leaq 0xa8(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq %rax, -0x8(%rdx)
movb %al, (%rdx)
leaq 0x10(%rdi), %rdx
movq %rdx, (%rsp)
movq %rdx, (%rdi)
movq %rax, 0x8(%rdi)
movq %rdi, 0x8(%rsp)
movb %al, 0x10(%rdi)
leaq 0x68(%rsp), %r14
leaq 0x48(%rsp), %r15
leaq 0x28(%rsp), %rbp
movq %rcx, 0xc0(%rsp)
leaq 0x8(%rcx), %rax
movq %rax, 0xb8(%rsp)
movq (%r12), %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %edx
movq %rbx, %rdi
leaq 0x78(%rsp), %rsi
callq 0x2230
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x3139
leaq 0xc8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
movl $0x8, %edx
callq 0x21d0
movl 0x28(%r12), %eax
testl %eax, %eax
jle 0x3113
xorl %ebx, %ebx
decl %eax
xorl %r8d, %r8d
cmpl %eax, %ebx
setne %r8b
leaq 0x98(%rsp), %r13
movq %r13, %rsi
leaq 0xc8(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x3310
cmpl %ebx, 0x14(%rsp)
movq %r14, 0x58(%rsp)
cmoveq 0xc0(%rsp), %r13
movq (%r13), %rsi
leaq 0xa0(%rsp), %rax
cmoveq 0xb8(%rsp), %rax
movq (%rax), %rdx
addq %rsi, %rdx
leaq 0x58(%rsp), %rdi
callq 0x2a40
movl 0x28(%r12), %eax
decl %eax
cmpl %eax, %ebx
leaq 0x1144(%rip), %rsi      # 0x4125
leaq 0x1087(%rip), %rax      # 0x406f
cmoveq %rax, %rsi
movq %r15, 0x38(%rsp)
leaq 0x112e(%rip), %rdx      # 0x4126
leaq 0x1071(%rip), %rax      # 0x4070
cmoveq %rax, %rdx
leaq 0x38(%rsp), %rdi
callq 0x2ad6
movq 0x58(%rsp), %rcx
movl $0xf, %edi
cmpq %r14, %rcx
je 0x3021
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %r8
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x304d
movl $0xf, %edi
cmpq %r15, %rsi
je 0x3048
movq 0x48(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x3059
leaq 0x58(%rsp), %rdi
callq 0x2080
jmp 0x3067
leaq 0x38(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2150
movq %rbp, 0x18(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3087
movq %rdx, 0x18(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x28(%rsp)
jmp 0x308e
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x20(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x8(%rsp), %rdi
callq 0x2080
movq 0x18(%rsp), %rdi
cmpq %rbp, %rdi
je 0x30d6
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x30ed
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x58(%rsp), %rdi
cmpq %r14, %rdi
je 0x3104
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2130
incl %ebx
movl 0x28(%r12), %eax
cmpl %eax, %ebx
jl 0x2f72
leaq 0xc8(%rsp), %rdi
movq 0x2eae(%rip), %rsi      # 0x5fd0
callq 0x2190
leaq 0x140(%rsp), %rdi
callq 0x2090
jmp 0x2f12
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x315e
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x3180
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x8(%rsp), %rax
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3199
movq %rax, %rbx
movq (%rsp), %r14
jmp 0x3220
movq %rax, %rbx
movq 0x18(%rsp), %rdi
cmpq %rbp, %rdi
je 0x31c1
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x31c1
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r15, %rdi
je 0x31df
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x31df
jmp 0x31f8
movq %rax, %rbx
movq 0x58(%rsp), %rdi
cmpq %r14, %rdi
je 0x31fb
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2130
jmp 0x31fb
movq %rax, %rbx
movq (%rsp), %r14
movq 0x2dca(%rip), %rsi      # 0x5fd0
leaq 0xc8(%rsp), %rdi
callq 0x2190
leaq 0x140(%rsp), %rdi
callq 0x2090
movq 0x8(%rsp), %rax
movq (%rax), %rdi
cmpq %r14, %rdi
je 0x3238
movq (%r14), %rsi
incq %rsi
callq 0x2130
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x325d
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x327f
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x2130
movq %rbx, %rdi
callq 0x2210
nop