// File: /workspace/github_cpp_makefile_star2_O1/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 $0x58, %rsp
movq %rdi, %r14
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rbx
movaps %xmm0, (%rbx)
movq %rbx, %rdi
movl $0x100, %esi            # imm = 0x100
callq 0xc5a2
leaq 0xbe4d(%rip), %rsi      # 0x176a1
movq %rbx, %rdi
callq 0xc41e
leaq 0xc1f6(%rip), %rsi      # 0x17a59
leaq -0x40(%rbp), %rdi
callq 0xc41e
movq 0x12a25(%rip), %rsi     # 0x1e298
leaq -0x40(%rbp), %rdi
callq 0xc41e
movl $0x20058, %r13d         # imm = 0x20058
addq 0x48(%r14), %r13
movq %r13, %rdi
callq 0x83f0
testl %eax, %eax
jne 0xbb88
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
movq $0x0, -0x50(%rbp)
movq %r14, -0x70(%rbp)
movq 0x48(%r14), %rax
movq 0x20110(%rax), %rbx
movq 0x20118(%rax), %r14
cmpq %r14, %rbx
movq %r13, -0x68(%rbp)
je 0xb8f8
leaq -0x60(%rbp), %r15
movq (%rbx), %rax
testq %rax, %rax
je 0xb8ef
movq -0x58(%rbp), %rsi
cmpq -0x50(%rbp), %rsi
je 0xb8e4
movq %rax, (%rsi)
addq $0x8, -0x58(%rbp)
jmp 0xb8ef
movq %r15, %rdi
movq %rbx, %rdx
callq 0xc940
addq $0x8, %rbx
cmpq %r14, %rbx
jne 0xb8c8
movq -0x60(%rbp), %r15
movq -0x58(%rbp), %rbx
cmpq %rbx, %r15
je 0xb963
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 0xbc30
cmpq $0x81, %r14
jl 0xb958
leaq 0x80(%r15), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0xbf45
cmpq %rbx, %r12
je 0xb963
movq %r12, %rdi
callq 0xbfbd
addq $0x8, %r12
jmp 0xb945
movq %r15, %rdi
movq %rbx, %rsi
callq 0xbf45
movq -0x60(%rbp), %r13
movq -0x58(%rbp), %rax
movq %rax, -0x78(%rbp)
cmpq %rax, %r13
je 0xbb2c
leaq -0x40(%rbp), %r15
movq (%r13), %rax
movq (%rax), %rsi
movl 0x8(%rax), %edx
movq %r15, %rdi
callq 0xc0a8
movq -0x70(%rbp), %rax
movq 0x48(%rax), %rax
movslq 0x28(%rax), %rcx
testq %rcx, %rcx
jle 0xba6a
movq (%r13), %rax
movq 0x40(%rax), %rax
shlq $0x5, %rcx
leaq (%rcx,%rcx,4), %rcx
xorl %edx, %edx
xorl %esi, %esi
xorl %edi, %edi
movq 0x98(%rax,%rdx), %r8
movl 0x78(%rax,%rdx), %r9d
movl %r8d, %r10d
subl %r9d, %r10d
shrl $0x3, %r10d
cmpq $0x1, %r8
adcl $-0x1, %r10d
shll $0x6, %r10d
movq 0x80(%rax,%rdx), %r8
subq 0x88(%rax,%rdx), %r8
shrq $0x3, %r8
movq 0x70(%rax,%rdx), %r9
subq 0x60(%rax,%rdx), %r9
shrq $0x3, %r9
addl %r8d, %r9d
addl %edi, %r9d
movl %r9d, %edi
addl %r10d, %edi
movq 0x48(%rax,%rdx), %r8
movl 0x28(%rax,%rdx), %r9d
movl %r8d, %r10d
subl %r9d, %r10d
shrl $0x3, %r10d
cmpq $0x1, %r8
adcl $-0x1, %r10d
shll $0x6, %r10d
movq 0x20(%rax,%rdx), %r8
movq 0x30(%rax,%rdx), %r9
subq 0x38(%rax,%rdx), %r9
subq 0x10(%rax,%rdx), %r8
shrq $0x3, %r9
shrq $0x3, %r8
addl %r9d, %r8d
addl %esi, %r8d
movl %r8d, %esi
addl %r10d, %esi
addq $0xa0, %rdx
cmpq %rdx, %rcx
jne 0xb9b9
movslq %edi, %r12
movslq %esi, %rbx
jmp 0xba6f
xorl %r12d, %r12d
xorl %ebx, %ebx
movq (%r13), %rax
movl 0x8(%rax), %r14d
cmpl $0x13, %r14d
jg 0xbaa2
addl $-0x14, %r14d
movl -0x38(%rbp), %esi
incl %esi
movq %r15, %rdi
callq 0xc5a2
movq -0x40(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
incl -0x38(%rbp)
incl %r14d
jne 0xba81
movl -0x38(%rbp), %esi
incl %esi
movq %r15, %rdi
callq 0xc5a2
movq -0x40(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
incl -0x38(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0xc342
movq %r15, %rdi
leaq 0xb7d5(%rip), %rsi      # 0x172a8
callq 0xc41e
movq %r15, %rdi
movq %rbx, %rsi
callq 0xc342
movq (%r13), %rax
cmpl $0x0, 0x50(%rax)
je 0xbb0f
movq %r15, %rdi
leaq 0xbbb1(%rip), %rsi      # 0x176a8
callq 0xc41e
movq (%r13), %rax
movq 0x48(%rax), %rsi
movl 0x50(%rax), %edx
movq %r15, %rdi
callq 0xc0a8
movq %r15, %rdi
leaq 0xbb86(%rip), %rsi      # 0x1769f
callq 0xc41e
addq $0x8, %r13
cmpq -0x78(%rbp), %r13
jne 0xb97c
movq -0x70(%rbp), %rbx
addq $0x18, %rbx
leaq 0xb6fe(%rip), %rsi      # 0x17239
movq %rbx, %rdi
callq 0x9ee0
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0xa704
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
movq -0x68(%rbp), %rbx
je 0xbb68
movq -0x50(%rbp), %rsi
subq %rdi, %rsi
callq 0x8320
movq %rbx, %rdi
callq 0x8240
leaq -0x40(%rbp), %rdi
callq 0xc536
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %eax, %edi
callq 0x81d0
jmp 0xbb93
jmp 0xbba0
movq %rax, %rbx
jmp 0xbbc4
jmp 0xbba0
jmp 0xbba0
jmp 0xbba0
jmp 0xbba0
movq %rax, %rbx
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
movq -0x68(%rbp), %r14
je 0xbbbc
movq -0x50(%rbp), %rsi
subq %rdi, %rsi
callq 0x8320
movq %r14, %rdi
callq 0x8240
leaq -0x40(%rbp), %rdi
callq 0xc536
movq %rbx, %rdi
callq 0x84a0
nop