// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
leaq 0xdfd83(%rip), %rdi     # 0x4e24c3
callq 0x441b50
movq %rbx, %rdi
callq 0x4010e8
movq %rax, %r14
leaq 0xdfcb9(%rip), %rdi     # 0x4e2410
xorl %eax, %eax
callq 0x4325f0
cmpq $0x9, %r14
leaq 0xdfd6f(%rip), %rax     # 0x4e24d8
leaq 0xdfd60(%rip), %rdi     # 0x4e24d0
cmovaeq %rax, %rdi
callq 0x441b50
leaq 0xdfca2(%rip), %rdi     # 0x4e2422
xorl %eax, %eax
callq 0x4325f0
movq %rbx, %rdi
callq 0x4010e8
testq %rax, %rax
je 0x4027eb
movq %rax, %r14
movsbl (%rbx), %esi
leaq 0xdfcbb(%rip), %rdi     # 0x4e245c
movl $0x1b, %edx
callq 0x401078
leaq 0xdfd21(%rip), %r15     # 0x4e24d3
testq %rax, %rax
jne 0x4027f2
movl $0x1, %ecx
leaq 0xdfc99(%rip), %r12     # 0x4e245c
movq %rcx, %r13
cmpq %rcx, %r14
je 0x4027e6
movsbl (%rbx,%r13), %esi
movl $0x1b, %edx
movq %r12, %rdi
callq 0x401078
leaq 0x1(%r13), %rcx
testq %rax, %rax
je 0x4027c3
cmpq %r13, %r14
ja 0x4027f2
leaq 0xdfcd9(%rip), %r15     # 0x4e24cb
movq %r15, %rdi
callq 0x441b50
leaq 0xdfc2e(%rip), %rdi     # 0x4e242f
xorl %eax, %eax
callq 0x4325f0
movq %rbx, %rdi
callq 0x4010e8
testq %rax, %rax
je 0x40286c
movq %rax, %r14
movsbl (%rbx), %esi
leaq 0xdfc55(%rip), %rdi     # 0x4e2477
movl $0x1b, %edx
callq 0x401078
leaq 0xdfca0(%rip), %r15     # 0x4e24d3
testq %rax, %rax
jne 0x402873
movl $0x1, %ecx
leaq 0xdfc33(%rip), %r12     # 0x4e2477
movq %rcx, %r13
cmpq %rcx, %r14
je 0x402867
movsbl (%rbx,%r13), %esi
movl $0x1b, %edx
movq %r12, %rdi
callq 0x401078
leaq 0x1(%r13), %rcx
testq %rax, %rax
je 0x402844
cmpq %r13, %r14
ja 0x402873
leaq 0xdfc58(%rip), %r15     # 0x4e24cb
movq %r15, %rdi
callq 0x441b50
leaq 0xdfbba(%rip), %rdi     # 0x4e243c
xorl %eax, %eax
callq 0x4325f0
movq %rbx, %rdi
callq 0x4010e8
testq %rax, %rax
je 0x4028ed
movq %rax, %r14
movsbl (%rbx), %esi
leaq 0xdfb53(%rip), %rdi     # 0x4e23f6
movl $0x1a, %edx
callq 0x401078
leaq 0xdfc21(%rip), %r15     # 0x4e24d5
testq %rax, %rax
jne 0x4028f4
movl $0x1, %ecx
leaq 0xdfb31(%rip), %r12     # 0x4e23f6
movq %rcx, %r13
cmpq %rcx, %r14
je 0x4028e8
movsbl (%rbx,%r13), %esi
movl $0x1a, %edx
movq %r12, %rdi
callq 0x401078
leaq 0x1(%r13), %rcx
testq %rax, %rax
je 0x4028c5
cmpq %r13, %r14
ja 0x4028f4
leaq 0xdfbd9(%rip), %r15     # 0x4e24cd
movq %r15, %rdi
callq 0x441b50
leaq 0xdfb48(%rip), %rdi     # 0x4e244b
xorl %eax, %eax
callq 0x4325f0
leaq 0xdfb81(%rip), %rdi     # 0x4e2492
leaq 0x103b4f(%rip), %rsi    # 0x506467
callq 0x4414d0
testq %rax, %rax
je 0x40298d
movq %rax, %r14
movq %rsp, %r15
leaq 0xdfb91(%rip), %r12     # 0x4e24c0
movq %r15, %rdi
movl $0x1a, %esi
movq %r14, %rdx
callq 0x441220
testq %rax, %rax
je 0x40296b
movq %r15, %rdi
movq %r12, %rsi
callq 0x4010d0
movb $0x0, (%rsp,%rax)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x4010b8
testl %eax, %eax
jne 0x40292f
leaq 0xdfb6e(%rip), %rdi     # 0x4e24d7
jmp 0x40297a
movq %r14, %rdi
callq 0x440c40
leaq 0xdfb55(%rip), %rdi     # 0x4e24cf
callq 0x441b50
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
callq 0x401188
nopw %cs:(%rax,%rax)
nopl (%rax)