// File: /workspace/github_c_makefile_star2_O0/sachinites[P]CommandParser/clistd.c
// Function: display_sub_options_callback
int
display_sub_options_callback(param_t *param, ser_buff_t *b, op_mode enable_or_disable){
    
    int i = 0;
    tlv_struct_t dummy;

    if(IS_APPLICATION_CALLBACK_HANDLER_REGISTERED(param))
        printf("<Enter>\n");

    for(i = CHILDREN_START_INDEX; i <= CHILDREN_END_INDEX; i++){
        if(param->options[i]){

            if(IS_PARAM_HIDDEN(param->options[i]))
                continue;

            if(IS_PARAM_CMD(param->options[i]) || IS_PARAM_NO_CMD(param->options[i])){
                printf(ANSI_COLOR_MAGENTA "nxt cmd  -> %-31s   |   %s\n" ANSI_COLOR_RESET, GET_CMD_NAME(param->options[i]), GET_PARAM_HELP_STRING(param->options[i]));
                continue;
            }
            printf(ANSI_COLOR_CYAN "nxt leaf -> %-32s  |   %s\n" ANSI_COLOR_RESET, GET_LEAF_TYPE_STR(param->options[i]), GET_PARAM_HELP_STRING(param->options[i]));
            continue;
        }
        break;
    }

    /*Means param is a leaf*/
    if(param->disp_callback){

        /*Add a dummy TLV to compensate for the cmd code TLV*/
        memset(&dummy, 0, sizeof(tlv_struct_t));
        collect_tlv(b, &dummy);
        printf(ANSI_COLOR_YELLOW "possible values :\n");
        param->disp_callback(param, b);
        printf(ANSI_COLOR_RESET);
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x6e76
leaq 0x42d0(%rip), %rdi      # 0xb13f
movb $0x0, %al
callq 0x10b0
movl $0x3, -0x18(%rbp)
cmpl $0xf, -0x18(%rbp)
jg 0x6f58
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
cmpq $0x0, 0x60(%rax,%rcx,8)
je 0x6f48
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rax
movsbl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0x6eb6
jmp 0x6f4a
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rax
cmpl $0x0, (%rax)
je 0x6eda
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rax
cmpl $0x2, (%rax)
jne 0x6f0c
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rax
movq 0x8(%rax), %rsi
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rdx
addq $0x19, %rdx
leaq 0x4245(%rip), %rdi      # 0xb148
movb $0x0, %al
callq 0x10b0
jmp 0x6f4a
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
movl (%rax), %edi
callq 0x20a0
movq %rax, %rsi
movq -0x8(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0x60(%rax,%rcx,8), %rdx
addq $0x19, %rdx
leaq 0x422e(%rip), %rdi      # 0xb16d
movb $0x0, %al
callq 0x10b0
jmp 0x6f4a
jmp 0x6f58
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x6e7d
movq -0x8(%rbp), %rax
cmpq $0x0, 0xe8(%rax)
je 0x6fb9
leaq -0x7c(%rbp), %rdi
xorl %esi, %esi
movl $0x64, %edx
callq 0x10d0
movq -0x10(%rbp), %rdi
leaq -0x7c(%rbp), %rsi
movl $0x64, %edx
callq 0x5da0
leaq 0x4202(%rip), %rdi      # 0xb191
movb $0x0, %al
callq 0x10b0
movq -0x8(%rbp), %rax
movq 0xe8(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq *%rax
leaq 0x3cec(%rip), %rdi      # 0xac9e
movb $0x0, %al
callq 0x10b0
xorl %eax, %eax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)