// File: /workspace/github_cpp_makefile_star2_O2/Overv[P]pqpp/./pq.hpp
// Function: pq::connection::get_rows[abi:cxx11](std::unique_ptr<pg_result, std::function<void (pg_result*)>>&&)
vector<row_t> get_rows(unique_ptr<PGresult, function<void(PGresult*)>>&& res) {
            int status = PQresultStatus(res.get());

            if (status == PGRES_COMMAND_OK) {
                return vector<row_t>();
            } else if (status == PGRES_TUPLES_OK) {
                // Determine columns in result
                map<string, int> columnIds;

                int columnCount = PQnfields(res.get());
                for (int c = 0; c < columnCount; c++) {
                    columnIds.emplace(PQfname(res.get(), c), c);
                }

                // Extract rows
                vector<row_t> rows;

                int rowCount = PQntuples(res.get());
                for (int r = 0; r < rowCount; r++) {
                    row_t row;

                    for (auto& column : columnIds) {
                        string val = PQgetvalue(res.get(), r, column.second);
                        bool isNull = PQgetisnull(res.get(), r, column.second);

                        row.emplace(column.first, value(val, isNull));
                    }

                    rows.push_back(row);
                }

                return rows;
            } else {
                throw runtime_error(PQerrorMessage(conn.get()));
            }
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, (%rsp)
movq 0x20(%rdx), %rdi
callq 0x2340
cmpl $0x2, %eax
je 0x397c
cmpl $0x1, %eax
jne 0x3afa
xorps %xmm0, %xmm0
movq (%rsp), %rax
movups %xmm0, (%rax)
andq $0x0, 0x10(%rax)
jmp 0x3ae8
leaq 0x70(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movq 0x20(%r14), %rdi
callq 0x20c0
movl %eax, %ebx
xorl %esi, %esi
leaq 0x68(%rsp), %r15
leaq 0x10(%rsp), %r12
leaq 0x40(%rsp), %r13
movl %esi, 0x40(%rsp)
cmpl %ebx, %esi
jge 0x39de
movq 0x20(%r14), %rdi
callq 0x2210
movq %rax, 0x10(%rsp)
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x3d7e
movl 0x40(%rsp), %esi
incl %esi
jmp 0x39b2
xorps %xmm0, %xmm0
movq (%rsp), %rax
movups %xmm0, (%rax)
andq $0x0, 0x10(%rax)
movq 0x20(%r14), %rdi
callq 0x21e0
xorl %r15d, %r15d
testl %eax, %eax
cmovlel %r15d, %eax
leaq 0x10(%rsp), %r12
leaq 0x98(%rsp), %r13
leaq 0x40(%rsp), %rbx
movl %eax, 0xc(%rsp)
cmpl %eax, %r15d
je 0x3ada
andl $0x0, 0x18(%rsp)
andq $0x0, 0x20(%rsp)
leaq 0x18(%rsp), %rax
movq %rax, 0x28(%rsp)
movq %rax, 0x30(%rsp)
andq $0x0, 0x38(%rsp)
movq 0x80(%rsp), %rbp
leaq 0x70(%rsp), %rax
cmpq %rax, %rbp
je 0x3aba
movq 0x20(%r14), %rdi
movl 0x40(%rbp), %edx
movl %r15d, %esi
callq 0x20d0
movq %r13, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x22c0
movq 0x20(%r14), %rdi
movl 0x40(%rbp), %edx
movl %r15d, %esi
callq 0x2330
xorl %edx, %edx
testl %eax, %eax
setne %dl
movq %rbx, %rdi
movq %r13, %rsi
callq 0x3d38
leaq 0x20(%rbp), %rsi
movq %r12, %rdi
movq %rbx, %rdx
callq 0x3ff0
movq %rbx, %rdi
callq 0x21f0
movq %r13, %rdi
callq 0x21f0
movq %rbp, %rdi
callq 0x22b0
movq %rax, %rbp
jmp 0x3a46
movq (%rsp), %rdi
movq %r12, %rsi
callq 0x3d52
movq %r12, %rdi
callq 0x3846
incl %r15d
movl 0xc(%rsp), %eax
jmp 0x3a15
leaq 0x68(%rsp), %rdi
callq 0x46f8
movq (%rsp), %rax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0x2100
movq %rax, %r14
movq (%rbx), %rdi
callq 0x2290
movq %r14, %rdi
movq %rax, %rsi
callq 0x20b0
movq 0x54c1(%rip), %rsi      # 0x8fe0
movq 0x54a2(%rip), %rdx      # 0x8fc8
movq %r14, %rdi
callq 0x21c0
movq %rax, %rbx
movq %r14, %rdi
callq 0x2280
jmp 0x3b8e
movq %rax, %rbx
jmp 0x3b7b
jmp 0x3b44
jmp 0x3b6e
movq %rax, %rbx
jmp 0x3b84
jmp 0x3b6e
jmp 0x3b4d
movq %rax, %rbx
jmp 0x3b5f
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x21f0
leaq 0x98(%rsp), %rdi
callq 0x21f0
jmp 0x3b71
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3846
movq (%rsp), %rdi
callq 0x2b88
leaq 0x68(%rsp), %rdi
callq 0x46f8
movq %rbx, %rdi
callq 0x21d0