// File: /workspace/github_c_makefile_star2_O1/briandowns[P]pass/pass.c
// Function: check
void check(const char *pass) {
    printf("report:\n");

    int score = 0;

    size_t pass_size = strlen(pass);

    printf("  greater than 8:");
    if (pass_size > 8) {
        score++;
        printf(" y\n");
    } else {
        printf(" n\n");
    }

    printf("  has lower:");
    if (has_lower_char(pass)) {
        score++;
        printf("      y\n");
    } else {
        printf("      n\n");
    }

    printf("  has upper:");
    if (has_upper_char(pass)) {
        score++;
        printf("      y\n");
    } else {
        printf("      n\n");
    }

    printf("  has special:");
    if (has_special_char(pass)) {
        score++;
        printf("    y\n");
    } else {
        printf("    n\n");
    }

    printf("  in dictionary:");
    if (in_dict(pass)) {
        score--;
        printf("  y\n");
    } else {
        printf("  n\n");
    }

    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0xdfd16(%rip), %rdi     # 0x4e24d3
callq 0x441bf0
movq %rbx, %rdi
callq 0x4010e8
movq %rax, %r14
leaq 0xdfc4c(%rip), %rdi     # 0x4e2420
xorl %eax, %eax
callq 0x432690
cmpq $0x9, %r14
leaq 0xdfd02(%rip), %rax     # 0x4e24e8
leaq 0xdfcf3(%rip), %rdi     # 0x4e24e0
cmovaeq %rax, %rdi
callq 0x441bf0
leaq 0xdfc35(%rip), %rdi     # 0x4e2432
xorl %eax, %eax
callq 0x432690
movq %rbx, %rdi
callq 0x4010e8
testq %rax, %rax
setne %bpl
je 0x402868
movq %rax, %r14
movsbl (%rbx), %esi
leaq 0xdfc4a(%rip), %rdi     # 0x4e246c
movl $0x1b, %edx
callq 0x401078
testq %rax, %rax
jne 0x402868
movl $0x1, %ecx
leaq 0xdfc2f(%rip), %r15     # 0x4e246c
movq %rcx, %r12
cmpq %rcx, %r14
je 0x402861
movsbl (%rbx,%r12), %esi
movl $0x1b, %edx
movq %r15, %rdi
callq 0x401078
leaq 0x1(%r12), %rcx
testq %rax, %rax
je 0x40283d
cmpq %r12, %r14
seta %bpl
leaq 0xdfc74(%rip), %r13     # 0x4e24e3
leaq 0xdfc65(%rip), %r14     # 0x4e24db
testb %bpl, %bpl
movq %r14, %rdi
cmovneq %r13, %rdi
callq 0x441bf0
leaq 0xdfbb3(%rip), %rdi     # 0x4e243f
xorl %eax, %eax
callq 0x432690
movq %rbx, %rdi
callq 0x4010e8
testq %rax, %rax
setne %bpl
je 0x4028f5
movq %rax, %r15
movsbl (%rbx), %esi
leaq 0xdfbd6(%rip), %rdi     # 0x4e2487
movl $0x1b, %edx
callq 0x401078
testq %rax, %rax
jne 0x4028f5
movl $0x1, %ecx
leaq 0xdfbbb(%rip), %r12     # 0x4e2487
movq %rcx, %rbp
cmpq %rcx, %r15
je 0x4028ee
movsbl (%rbx,%rbp), %esi
movl $0x1b, %edx
movq %r12, %rdi
callq 0x401078
leaq 0x1(%rbp), %rcx
testq %rax, %rax
je 0x4028cc
cmpq %rbp, %r15
seta %bpl
testb %bpl, %bpl
cmovneq %r13, %r14
movq %r14, %rdi
callq 0x441bf0
leaq 0xdfb41(%rip), %rdi     # 0x4e244c
xorl %eax, %eax
callq 0x432690
movq %rbx, %rdi
callq 0x4010e8
testq %rax, %rax
setne %bpl
je 0x402976
movq %rax, %r14
movsbl (%rbx), %esi
leaq 0xdfad6(%rip), %rdi     # 0x4e2406
movl $0x1a, %edx
callq 0x401078
testq %rax, %rax
jne 0x402976
movl $0x1, %ecx
leaq 0xdfabb(%rip), %r15     # 0x4e2406
movq %rcx, %r12
cmpq %rcx, %r14
je 0x40296f
movsbl (%rbx,%r12), %esi
movl $0x1a, %edx
movq %r15, %rdi
callq 0x401078
leaq 0x1(%r12), %rcx
testq %rax, %rax
je 0x40294b
cmpq %r12, %r14
seta %bpl
leaq 0xdfb68(%rip), %rax     # 0x4e24e5
leaq 0xdfb59(%rip), %rdi     # 0x4e24dd
testb %bpl, %bpl
cmovneq %rax, %rdi
callq 0x441bf0
leaq 0xdfac4(%rip), %rdi     # 0x4e245b
xorl %eax, %eax
callq 0x432690
leaq 0xdfafd(%rip), %rdi     # 0x4e24a2
leaq 0x103afb(%rip), %rsi    # 0x5064a7
callq 0x441570
testq %rax, %rax
je 0x402a25
movq %rax, %r14
movq %rsp, %r12
leaq 0xdfb0d(%rip), %r13     # 0x4e24d0
leaq 0xdfb1d(%rip), %r15     # 0x4e24e7
movq %r12, %rdi
movl $0x1a, %esi
movq %r14, %rdx
callq 0x4412c0
testq %rax, %rax
je 0x4029ff
movq %r12, %rdi
movq %r13, %rsi
callq 0x4010d0
movb $0x0, (%rsp,%rax)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x4010b8
testl %eax, %eax
jne 0x4029ca
jmp 0x402a0e
movq %r14, %rdi
callq 0x440ce0
leaq 0xdfad1(%rip), %r15     # 0x4e24df
movq %r15, %rdi
callq 0x441bf0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x401188
nopw (%rax,%rax)