// File: /workspace/github_c_makefile_star2_O0/jaroslov[P]docoptc/./docopt.h
// Function: docopt_get
docopt_str_t* docopt_get(docopt_t doc, const char* cmd, int idx)
{
    struct docopt_entries* dE   = (struct docopt_entries*)doc;
    assert(!dE->error || (dE->error == DOCOPT_PRINTED_HELP));
    struct docopt_str str       = { cmd, cmd + strlen(cmd) };
    struct docopt_entry* owner  = 0;
    struct docopt_str* result   = 0;
    int entry                   = 0;
    if ((entry = docopt_entries_get_entry(dE, &str)) < 0)
        return 0;
    owner                       = docopt_fetch_entry(dE, entry);
    for (int i = 0; (i < dE->nargs) && (idx >= 0); ++i)
        if (dE->args[i].owner == owner)
        {
            if (dE->args[i].value.fst)
                result  = &dE->args[i].value;
            else
                result  = &owner->defvalue;
            --idx;
        }
    if ((idx >= 0) && owner->defvalue.fst)
    {
        return &owner->defvalue;
    }
    return (idx < 0) ? result : 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpl $0x0, (%rax)
je 0x8f9d
movq -0x28(%rbp), %rax
cmpl $0x5, (%rax)
jne 0x8f9f
jmp 0x8fbe
leaq 0x312b(%rip), %rdi      # 0xc0d1
leaq 0x3155(%rip), %rsi      # 0xc102
movl $0x3fe, %edx            # imm = 0x3FE
leaq 0x3154(%rip), %rcx      # 0xc10d
callq 0x7090
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rdi
callq 0x7070
movq %rax, %rcx
movq -0x58(%rbp), %rax
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq $0x0, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movl $0x0, -0x4c(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x9120
movl %eax, -0x4c(%rbp)
cmpl $0x0, %eax
jge 0x901e
movq $0x0, -0x8(%rbp)
jmp 0x9110
movq -0x28(%rbp), %rdi
movl -0x4c(%rbp), %esi
callq 0x9240
movq %rax, -0x40(%rbp)
movl $0x0, -0x50(%rbp)
movl -0x50(%rbp), %ecx
movq -0x28(%rbp), %rdx
xorl %eax, %eax
cmpl 0x30(%rdx), %ecx
movb %al, -0x59(%rbp)
jge 0x9050
cmpl $0x0, -0x1c(%rbp)
setge %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x9059
jmp 0x90d1
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rax
movslq -0x50(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq -0x40(%rbp), %rax
jne 0x90c1
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rax
movslq -0x50(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
je 0x90ac
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rax
movslq -0x50(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
jmp 0x90b8
movq -0x40(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x48(%rbp)
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x90c3
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x9035
cmpl $0x0, -0x1c(%rbp)
jl 0x90f0
movq -0x40(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x90f0
movq -0x40(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x8(%rbp)
jmp 0x9110
cmpl $0x0, -0x1c(%rbp)
jge 0x9100
movq -0x48(%rbp), %rax
movq %rax, -0x68(%rbp)
jmp 0x9108
xorl %eax, %eax
movq %rax, -0x68(%rbp)
jmp 0x9108
movq -0x68(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)