// File: alex-courtis[P]xlayoutdisplay/src/xrandrrutil.cpp
// Function: renderXrandrCmd(std::__cxx11::list<std::shared_ptr<Output>, std::allocator<std::shared_ptr<Output>>> const&, std::shared_ptr<Output> const&, long const&, long const&)
const string renderXrandrCmd(const list<shared_ptr<Output>> &outputs, const shared_ptr<Output> &primary, const long &dpi, const long &rate) {
    stringstream ss;
    ss << "xrandr \\\n --dpi " << dpi;
    for (const auto &output : outputs) {
        ss << " \\\n --output " << output->name;
        if (output->desiredActive && output->desiredMode && output->desiredPos) {
            ss << " --mode " << output->desiredMode->width << "x" << output->desiredMode->height;
            if (rate == 0) {
                ss << " --rate " << output->desiredMode->refresh;
            } else {
                ss << " --rate " << rate;
            }
            ss << " --pos ";
            ss << output->desiredPos->x << "x" << output->desiredPos->y;
            if (output == primary) {
                ss << " --primary";
            }
        } else {
            ss << " --off";
        }
    }
    return ss.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x1f8(%rbp)
movq %rdi, %rax
movq %rax, -0x1f0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x73a0
leaq -0x1a0(%rbp), %rdi
leaq 0x2f206(%rip), %rsi     # 0x40640
callq 0x74a0
movq %rax, -0x1e8(%rbp)
jmp 0x11448
movq -0x1e8(%rbp), %rdi
movq -0x20(%rbp), %rax
movq (%rax), %rsi
callq 0x7980
jmp 0x1145d
movq -0x10(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rdi
callq 0xbf80
movq %rax, -0x1d0(%rbp)
movq -0x1c8(%rbp), %rdi
callq 0xbfb0
movq %rax, -0x1d8(%rbp)
leaq -0x1d0(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0xbfe0
testb $0x1, %al
jne 0x114aa
jmp 0x1178e
leaq -0x1d0(%rbp), %rdi
callq 0xc010
movq %rax, -0x1e0(%rbp)
leaq -0x1a0(%rbp), %rdi
leaq 0x2f186(%rip), %rsi     # 0x40651
callq 0x74a0
movq %rax, -0x200(%rbp)
jmp 0x114d9
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq -0x200(%rbp), %rdi
movq %rax, %rsi
callq 0x7460
jmp 0x114f6
movq -0x1e0(%rbp), %rdi
callq 0xc040
testb $0x1, 0x90(%rax)
je 0x11764
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0x98, %rdi
callq 0x95b0
testb $0x1, %al
jne 0x11533
jmp 0x11764
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0xa8, %rdi
callq 0x96e0
testb $0x1, %al
jne 0x11557
jmp 0x11764
leaq -0x1a0(%rbp), %rdi
leaq 0x2f0fa(%rip), %rsi     # 0x4065f
callq 0x74a0
movq %rax, -0x208(%rbp)
jmp 0x11573
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0x98, %rdi
callq 0x8400
movq -0x208(%rbp), %rdi
movl 0x8(%rax), %esi
callq 0x7710
movq %rax, -0x210(%rbp)
jmp 0x115a6
movq -0x210(%rbp), %rdi
leaq 0x3008f(%rip), %rsi     # 0x41643
callq 0x74a0
movq %rax, -0x218(%rbp)
jmp 0x115c2
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0x98, %rdi
callq 0x8400
movq -0x218(%rbp), %rdi
movl 0xc(%rax), %esi
callq 0x7710
jmp 0x115ee
movq -0x28(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x11665
leaq -0x1a0(%rbp), %rdi
leaq 0x2f062(%rip), %rsi     # 0x40668
callq 0x74a0
movq %rax, -0x220(%rbp)
jmp 0x11614
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0x98, %rdi
callq 0x8400
movq -0x220(%rbp), %rdi
movl 0x10(%rax), %esi
callq 0x7710
jmp 0x11640
jmp 0x11698
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b8(%rbp)
movl %eax, -0x1bc(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x73d0
jmp 0x117bf
leaq -0x1a0(%rbp), %rdi
leaq 0x2eff5(%rip), %rsi     # 0x40668
callq 0x74a0
movq %rax, -0x228(%rbp)
jmp 0x11681
movq -0x228(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
callq 0x7980
jmp 0x11696
jmp 0x11698
leaq -0x1a0(%rbp), %rdi
leaq 0x2efcb(%rip), %rsi     # 0x40671
callq 0x74a0
jmp 0x116ad
leaq -0x1a0(%rbp), %rax
movq %rax, -0x238(%rbp)
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0xa8, %rdi
callq 0xc5a0
movq -0x238(%rbp), %rdi
movl (%rax), %esi
callq 0x78f0
movq %rax, -0x230(%rbp)
jmp 0x116ed
movq -0x230(%rbp), %rdi
leaq 0x2ff48(%rip), %rsi     # 0x41643
callq 0x74a0
movq %rax, -0x240(%rbp)
jmp 0x11709
movq -0x1e0(%rbp), %rdi
callq 0xc040
movq %rax, %rdi
addq $0xa8, %rdi
callq 0xc5a0
movq -0x240(%rbp), %rdi
movl 0x4(%rax), %esi
callq 0x78f0
jmp 0x11735
movq -0x1e0(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xe780
testb $0x1, %al
jne 0x1174b
jmp 0x11762
leaq -0x1a0(%rbp), %rdi
leaq 0x2ef20(%rip), %rsi     # 0x40679
callq 0x74a0
jmp 0x11760
jmp 0x11762
jmp 0x1177b
leaq -0x1a0(%rbp), %rdi
leaq 0x2ef12(%rip), %rsi     # 0x40684
callq 0x74a0
jmp 0x11779
jmp 0x1177b
jmp 0x1177d
leaq -0x1d0(%rbp), %rdi
callq 0xc090
jmp 0x1148e
movq -0x1f8(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x7490
jmp 0x117a3
leaq -0x1b0(%rbp), %rdi
callq 0x73d0
movq -0x1f0(%rbp), %rax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq -0x1b8(%rbp), %rdi
callq 0x7930
nopl (%rax,%rax)