assembly – Binary Bomb Phase 5 Help Please

I cant seem to figure this one out and everywhere i look people seem to have a different phase 5 than me could I get some help on this one?

0x0000000000401091 <+0>:     push   %rbx  
0x0000000000401092 <+1>:     mov    %rdi,%rbx  
0x0000000000401095 <+4>:     callq  0x401210 <string_length>  
0x000000000040109a <+9>:     cmp    $0x6,%eax  
0x000000000040109d <+12>:    je     0x4010a4 <phase_5+19>  
0x000000000040109f <+14>:    callq  0x4013ea <encrypt_file>  
0x00000000004010a4 <+19>:    lea    0x6(%rbx),%rsi  
0x00000000004010a8 <+23>:    mov    $0x0,%eax  
0x00000000004010ad <+28>:    mov    $0x402520,%edx  
0x00000000004010b2 <+33>:    movsbq (%rbx),%rcx  
0x00000000004010b6 <+37>:    and    $0xf,%ecx  
0x00000000004010b9 <+40>:    add    (%rdx,%rcx,4),%eax  
0x00000000004010bc <+43>:    add    $0x1,%rbx  
0x00000000004010c0 <+47>:    cmp    %rsi,%rbx  
0x00000000004010c3 <+50>:    jne    0x4010b2 <phase_5+33>  
0x00000000004010c5 <+52>:    cmp    $0x21,%eax  
0x00000000004010c8 <+55>:    je     0x4010cf <phase_5+62>  
0x00000000004010ca <+57>:    callq  0x4013ea <encrypt_file>  
0x00000000004010cf <+62>:    pop    %rbx  
0x00000000004010d0 <+63>:    retq 

Encrypt file is the same thing as the bomb exploding

The string length function just makes sure that the string is 6 characters.