// File: /workspace/github_c_makefile_star2_O0/jaroslov[P]docoptc/test.c
// Function: check_test
int check_test(docopt_t doc, int i)
{
    for (int j = 0; tests[i].checks[j].key; ++j)
    {
        struct docopt_str* get  = docopt_get(doc, tests[i].checks[j].key, tests[i].checks[j].index);
        if (!get)
        {
            fprintf(stdout, "(%d): %s\n", i, usages[tests[i].usage]);
            fprintf(stdout, "Failed to get (%d.%d.%d) %s\n", i, j, tests[i].usage, tests[i].checks[j].key);
            return 1;
        }
        else
        {
            if (tests[i].checks[j].value)
            {
                if ((strlen(tests[i].checks[j].value) != docopt_str_len(get)) ||
                    strncmp(tests[i].checks[j].value, get->fst, docopt_str_len(get)))
                {
                    fprintf(stdout, "(%d): %s\n", i, usages[tests[i].usage]);
                    fprintf(stdout, "Mismatch (%d.%d.%d) %s wants='%s' gots='%s'\n", i, j, tests[i].usage, tests[i].checks[j].key, tests[i].checks[j].value, get->fst);
                    return 1;
                }
            }
        }
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x6bef(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x9923
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rcx
leaq 0x6bbb(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rsi
movslq -0x14(%rbp), %rcx
leaq 0x6b92(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %edx
callq 0x8f70
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x9759
movq 0x29921(%rip), %rax     # 0x32fd8
movq (%rax), %rdi
movl -0x14(%rbp), %edx
movslq -0x14(%rbp), %rcx
leaq 0x6b48(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x299e4(%rip), %rax     # 0x330c0
movq (%rax,%rcx,8), %rcx
leaq 0x47af(%rip), %rsi      # 0xde96
movb $0x0, %al
callq 0x70e0
movq 0x298e3(%rip), %rax     # 0x32fd8
movq (%rax), %rdi
movl -0x14(%rbp), %edx
movl -0x18(%rbp), %ecx
movslq -0x14(%rbp), %rsi
leaq 0x6b07(%rip), %rax      # 0x10210
imulq $0x3c8, %rsi, %rsi      # imm = 0x3C8
addq %rsi, %rax
movl (%rax), %r8d
movslq -0x14(%rbp), %rsi
leaq 0x6aef(%rip), %rax      # 0x10210
imulq $0x3c8, %rsi, %rsi      # imm = 0x3C8
addq %rsi, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rsi
imulq $0x18, %rsi, %rsi
addq %rsi, %rax
movq (%rax), %r9
leaq 0x475a(%rip), %rsi      # 0xdea0
movb $0x0, %al
callq 0x70e0
movl $0x1, -0x4(%rbp)
jmp 0x992a
movslq -0x14(%rbp), %rcx
leaq 0x6aac(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x10(%rax)
je 0x9911
movslq -0x14(%rbp), %rcx
leaq 0x6a7b(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rdi
callq 0x7070
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x7420
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, %ecx
cmpq %rcx, %rax
jne 0x982f
movslq -0x14(%rbp), %rcx
leaq 0x6a32(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rdi
callq 0x7420
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl %eax, %eax
movl %eax, %edx
callq 0x7040
cmpl $0x0, %eax
je 0x990f
movq 0x297a2(%rip), %rax     # 0x32fd8
movq (%rax), %rdi
movl -0x14(%rbp), %edx
movslq -0x14(%rbp), %rcx
leaq 0x69c9(%rip), %rax      # 0x10210
imulq $0x3c8, %rcx, %rcx      # imm = 0x3C8
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0x29865(%rip), %rax     # 0x330c0
movq (%rax,%rcx,8), %rcx
leaq 0x4630(%rip), %rsi      # 0xde96
movb $0x0, %al
callq 0x70e0
movq 0x29764(%rip), %rax     # 0x32fd8
movq (%rax), %rdi
movl -0x14(%rbp), %edx
movl -0x18(%rbp), %ecx
movslq -0x14(%rbp), %rsi
leaq 0x6988(%rip), %rax      # 0x10210
imulq $0x3c8, %rsi, %rsi      # imm = 0x3C8
addq %rsi, %rax
movl (%rax), %r8d
movslq -0x14(%rbp), %rsi
leaq 0x6970(%rip), %rax      # 0x10210
imulq $0x3c8, %rsi, %rsi      # imm = 0x3C8
addq %rsi, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rsi
imulq $0x18, %rsi, %rsi
addq %rsi, %rax
movq (%rax), %r9
movslq -0x14(%rbp), %rsi
leaq 0x6947(%rip), %rax      # 0x10210
imulq $0x3c8, %rsi, %rsi      # imm = 0x3C8
addq %rsi, %rax
addq $0xf8, %rax
movslq -0x18(%rbp), %rsi
imulq $0x18, %rsi, %rsi
addq %rsi, %rax
movq 0x10(%rax), %r10
movq -0x20(%rbp), %rax
movq (%rax), %rax
leaq 0x45c7(%rip), %rsi      # 0xdebd
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq 0x70e0
movl $0x1, -0x4(%rbp)
jmp 0x992a
jmp 0x9911
jmp 0x9913
jmp 0x9915
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9616
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)