// File: Eba-M[P]E3DC-Control/cJSON.c
// Function: print_array(cJSON const*, printbuffer*)
static cJSON_bool print_array(const cJSON * const item, printbuffer * const output_buffer)
{
    unsigned char *output_pointer = NULL;
    size_t length = 0;
    cJSON *current_element = item->child;

    if (output_buffer == NULL)
    {
        return false;
    }

    /* Compose the output array. */
    /* opening square bracket */
    output_pointer = ensure(output_buffer, 1);
    if (output_pointer == NULL)
    {
        return false;
    }

    *output_pointer = '[';
    output_buffer->offset++;
    output_buffer->depth++;

    while (current_element != NULL)
    {
        if (!print_value(current_element, output_buffer))
        {
            return false;
        }
        update_offset(output_buffer);
        if (current_element->next)
        {
            length = (size_t) (output_buffer->format ? 2 : 1);
            output_pointer = ensure(output_buffer, length + 1);
            if (output_pointer == NULL)
            {
                return false;
            }
            *output_pointer++ = ',';
            if(output_buffer->format)
            {
                *output_pointer++ = ' ';
            }
            *output_pointer = '\0';
            output_buffer->offset += length;
        }
        current_element = current_element->next;
    }

    output_pointer = ensure(output_buffer, 2);
    if (output_pointer == NULL)
    {
        return false;
    }
    *output_pointer++ = ']';
    *output_pointer = '\0';
    output_buffer->depth--;

    return true;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x5dc63
movl $0x0, 0x34(%rsp)
jmp 0x5de02
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x5d750
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x5dc8c
movl $0x0, 0x34(%rsp)
jmp 0x5de02
movq 0x18(%rsp), %rax
movb $0x5b, (%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rax)
cmpq $0x0, 0x8(%rsp)
je 0x5dda7
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x59d20
cmpl $0x0, %eax
jne 0x5dce3
movl $0x0, 0x34(%rsp)
jmp 0x5de02
movq 0x20(%rsp), %rdi
callq 0x5c6f0
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
je 0x5dd95
movq 0x20(%rsp), %rax
movl 0x24(%rax), %edx
movl $0x1, %eax
movl $0x2, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cltq
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
addq $0x1, %rsi
callq 0x5d750
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x5dd48
movl $0x0, 0x34(%rsp)
jmp 0x5de02
movq 0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rsp)
movb $0x2c, (%rax)
movq 0x20(%rsp), %rax
cmpl $0x0, 0x24(%rax)
je 0x5dd7b
movq 0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rsp)
movb $0x20, (%rax)
movq 0x18(%rsp), %rax
movb $0x0, (%rax)
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
addq 0x10(%rax), %rcx
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x5dcb6
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x5d750
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x5ddcd
movl $0x0, 0x34(%rsp)
jmp 0x5de02
movq 0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rsp)
movb $0x5d, (%rax)
movq 0x18(%rsp), %rax
movb $0x0, (%rax)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0x18(%rax)
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)