// File: /workspace/github_cpp_makefile_star2_O3/lega911[P]ijson/src/connect.cpp
// Function: Connect::send_help()
void Connect::send_help() {
    Buffer res(256);
    res.add("ijson ");
    res.add(ijson_version);
    res.add(help_msg);
    LOCK _l(server->global_lock);
    std::vector<QueueLine*> list;
    for(const auto &ql : server->_queue_list) {
        if(ql == NULL) continue;
        list.push_back(ql);
    }
    std::sort(list.begin(), list.end(), [](const auto& l,const auto& r) {
        return l->name.compare(r->name) < 0;
    });

    for(const auto &ql : list) {
        res.add(ql->name);

        int client_count = 0;
        int worker_count = 0;
        for(int i=0;i<server->threads;i++) {
            client_count += ql->queue[i].clients.size();
            worker_count += ql->queue[i].workers.size();
        }

        for(int i=ql->name.size();i<20;i++) res.add(" ", 1);
        res.add(" ", 1);
        res.add_number(client_count);
        res.add("/");
        res.add_number(worker_count);
        if(!ql->info.empty()) {
            res.add("  ");
            int start = res.size();
            res.add(ql->info);
        }
        res.add("\n");
    }
    send.status("200 OK")->done(res);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %r14
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rbx
movaps %xmm0, (%rbx)
movq %rbx, %rdi
movl $0x100, %esi            # imm = 0x100
callq 0xc596
leaq 0xbddf(%rip), %rsi      # 0x176a1
movq %rbx, %rdi
callq 0xc44c
leaq 0xc188(%rip), %rsi      # 0x17a59
leaq -0x40(%rbp), %rdi
callq 0xc44c
movq 0x129b7(%rip), %rsi     # 0x1e298
leaq -0x40(%rbp), %rdi
callq 0xc44c
movl $0x20058, %r13d         # imm = 0x20058
addq 0x48(%r14), %r13
movq %r13, %rdi
callq 0x83f0
testl %eax, %eax
jne 0xbbf9
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
movq $0x0, -0x50(%rbp)
movq %r14, -0x68(%rbp)
movq 0x48(%r14), %rax
movq 0x20110(%rax), %rbx
movq 0x20118(%rax), %r14
cmpq %r14, %rbx
je 0xb9d1
leaq -0x60(%rbp), %r15
movq (%rbx), %rax
testq %rax, %rax
je 0xb95d
movq -0x58(%rbp), %rsi
cmpq -0x50(%rbp), %rsi
je 0xb952
movq %rax, (%rsi)
addq $0x8, -0x58(%rbp)
jmp 0xb95d
movq %r15, %rdi
movq %rbx, %rdx
callq 0xc93c
addq $0x8, %rbx
cmpq %r14, %rbx
jne 0xb936
movq -0x60(%rbp), %r15
movq -0x58(%rbp), %rbx
cmpq %rbx, %r15
je 0xb9d1
movq %rbx, %r14
subq %r15, %r14
movq %r14, %rax
sarq $0x3, %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0xbca4
cmpq $0x81, %r14
jl 0xb9c6
leaq 0x80(%r15), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0xbf9f
cmpq %rbx, %r12
je 0xb9d1
movq %r12, %rdi
callq 0xc017
addq $0x8, %r12
jmp 0xb9b3
movq %r15, %rdi
movq %rbx, %rsi
callq 0xbf9f
movq %r13, -0x48(%rbp)
movq -0x60(%rbp), %r13
movq -0x58(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq %rax, %r13
je 0xbb9d
leaq -0x40(%rbp), %r15
movq (%r13), %rax
movq (%rax), %rsi
movl 0x8(%rax), %edx
movq %r15, %rdi
callq 0xc102
movq -0x68(%rbp), %rax
movq 0x48(%rax), %rax
movslq 0x28(%rax), %rdx
movq (%r13), %rax
testq %rdx, %rdx
jle 0xbadd
movq 0x40(%rax), %rcx
shlq $0x5, %rdx
leaq (%rdx,%rdx,4), %rdx
xorl %esi, %esi
xorl %edi, %edi
xorl %r8d, %r8d
movq 0x98(%rcx,%rsi), %r9
movl 0x78(%rcx,%rsi), %r10d
movl %r9d, %r11d
subl %r10d, %r11d
shrl $0x3, %r11d
cmpq $0x1, %r9
adcl $-0x1, %r11d
shll $0x6, %r11d
movq 0x80(%rcx,%rsi), %r9
subq 0x88(%rcx,%rsi), %r9
shrq $0x3, %r9
movq 0x70(%rcx,%rsi), %r10
subq 0x60(%rcx,%rsi), %r10
shrq $0x3, %r10
addl %r9d, %r10d
addl %r8d, %r10d
movl %r10d, %r8d
addl %r11d, %r8d
movq 0x48(%rcx,%rsi), %r9
movl 0x28(%rcx,%rsi), %r10d
movl %r9d, %r11d
subl %r10d, %r11d
shrl $0x3, %r11d
cmpq $0x1, %r9
adcl $-0x1, %r11d
shll $0x6, %r11d
movq 0x20(%rcx,%rsi), %r9
movq 0x30(%rcx,%rsi), %r10
subq 0x38(%rcx,%rsi), %r10
subq 0x10(%rcx,%rsi), %r9
shrq $0x3, %r10
shrq $0x3, %r9
addl %r10d, %r9d
addl %edi, %r9d
movl %r9d, %edi
addl %r11d, %edi
addq $0xa0, %rsi
cmpq %rsi, %rdx
jne 0xba2c
movslq %r8d, %r12
movslq %edi, %rbx
jmp 0xbae2
xorl %r12d, %r12d
xorl %ebx, %ebx
movl 0x8(%rax), %r14d
movl -0x38(%rbp), %esi
cmpl $0x13, %r14d
jg 0xbb16
addl $-0x14, %r14d
incl %esi
movq %r15, %rdi
callq 0xc596
movq -0x40(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0x38(%rbp), %esi
incl %esi
movl %esi, -0x38(%rbp)
incl %r14d
jne 0xbaf3
incl %esi
movq %r15, %rdi
callq 0xc596
movq -0x40(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
incl -0x38(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0xc35e
movq %r15, %rdi
leaq 0xb764(%rip), %rsi      # 0x172a8
callq 0xc44c
movq %r15, %rdi
movq %rbx, %rsi
callq 0xc35e
movq (%r13), %rax
cmpl $0x0, 0x50(%rax)
je 0xbb80
movq %r15, %rdi
leaq 0xbb40(%rip), %rsi      # 0x176a8
callq 0xc44c
movq (%r13), %rax
movq 0x48(%rax), %rsi
movl 0x50(%rax), %edx
movq %r15, %rdi
callq 0xc102
movq %r15, %rdi
leaq 0xbb15(%rip), %rsi      # 0x1769f
callq 0xc44c
addq $0x8, %r13
cmpq -0x70(%rbp), %r13
jne 0xb9ee
movq -0x68(%rbp), %rbx
addq $0x18, %rbx
leaq 0xb68d(%rip), %rsi      # 0x17239
movq %rbx, %rdi
callq 0x9ec6
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0xa766
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
movq -0x48(%rbp), %rbx
je 0xbbd9
movq -0x50(%rbp), %rsi
subq %rdi, %rsi
callq 0x8320
movq %rbx, %rdi
callq 0x8240
leaq -0x40(%rbp), %rdi
callq 0xc56a
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %eax, %edi
callq 0x81d0
jmp 0xbc04
jmp 0xbc14
movq %rax, %rbx
jmp 0xbc38
movq %rax, %rbx
jmp 0xbc1b
jmp 0xbc14
jmp 0xbc14
jmp 0xbc14
movq %rax, %rbx
movq -0x48(%rbp), %r13
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0xbc30
movq -0x50(%rbp), %rsi
subq %rdi, %rsi
callq 0x8320
movq %r13, %rdi
callq 0x8240
leaq -0x40(%rbp), %rdi
callq 0xc56a
movq %rbx, %rdi
callq 0x84a0
nop