Function at 0x45a806
Capabilities:
Parse credit card information

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
movzx eax, byte [rbp + 0x10]
mov ecx, 0x61
cmp ecx, eax
jg 0x45a82c
movzx eax, byte [rbp + 0x10]
cmp eax, 0x7a
jle 0x45a868
movzx eax, byte [rbp + 0x10]
mov ecx, 0x41
cmp ecx, eax
jg 0x45a84a
movzx eax, byte [rbp + 0x10]
cmp eax, 0x5a
jle 0x45a868
movzx eax, byte [rbp + 0x10]
mov ecx, 0x30
cmp ecx, eax
jg 0x45a879
movzx eax, byte [rbp + 0x10]
cmp eax, 0x39
jg 0x45a879
mov eax, 0
mov byte [rbp - 1], al
movzx eax, byte [rbp - 1]
jmp 0x45abb8
mov eax, dword [rbp + 0x18]
cmp eax, 2
je 0x45a891
mov eax, dword [rbp + 0x18]
cmp eax, 3
jne 0x45a97f
movzx eax, byte [rbp + 0x10]
cmp eax, 0x21
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x24
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x26
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x5c
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x28
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x29
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x2a
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x2b
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x2c
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3b
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3d
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3a
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x5b
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x5d
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3c
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3e
je 0x45a96e
movzx eax, byte [rbp + 0x10]
cmp eax, 0x22
jne 0x45a97f
mov eax, 0
mov byte [rbp - 2], al
movzx eax, byte [rbp - 2]
jmp 0x45abb8
jmp 0x45aac3
mov eax, 0
mov byte [rbp - 3], al
movzx eax, byte [rbp - 3]
jmp 0x45abb8
jmp 0x45aa72
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3f
sete al
movzx eax, al
mov byte [rbp - 4], al
movzx eax, byte [rbp - 4]
jmp 0x45abb8
movzx eax, byte [rbp + 0x10]
cmp eax, 0x2f
je 0x45a9ee
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3b
je 0x45a9ee
movzx eax, byte [rbp + 0x10]
cmp eax, 0x2c
je 0x45a9ee
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3f
je 0x45a9ee
mov eax, 0
jmp 0x45a9f3
mov eax, 1
mov byte [rbp - 5], al
movzx eax, byte [rbp - 5]
jmp 0x45abb8
movzx eax, byte [rbp + 0x10]
cmp eax, 0x40
je 0x45aa3a
movzx eax, byte [rbp + 0x10]
cmp eax, 0x2f
je 0x45aa3a
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3f
je 0x45aa3a
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3a
je 0x45aa3a
mov eax, 0
jmp 0x45aa3f
mov eax, 1
mov byte [rbp - 6], al
movzx eax, byte [rbp - 6]
jmp 0x45abb8
mov eax, 1
mov byte [rbp - 7], al
movzx eax, byte [rbp - 7]
jmp 0x45abb8
mov eax, 0
mov byte [rbp - 8], al
movzx eax, byte [rbp - 8]
jmp 0x45abb8
jmp 0x45aab9
mov eax, dword [rbp + 0x18]
cmp eax, 0
je 0x45a99a
cmp eax, 1
je 0x45a9b3
cmp eax, 2
je 0x45aa6d
cmp eax, 3
je 0x45aa6d
cmp eax, 4
je 0x45a9ff
cmp eax, 5
je 0x45aa4b
cmp eax, 6
je 0x45aa5c
jmp 0x45aa6d
jmp 0x45ab58
jmp 0x45ab58
movzx eax, byte [rbp + 0x10]
cmp eax, 0x3a
jg 0x45ab1d
cmp eax, 0x3a
jge 0x45a995
cmp eax, 0x24
je 0x45a995
cmp eax, 0x26
je 0x45a995
cmp eax, 0x2b
je 0x45a995
cmp eax, 0x2c
je 0x45a995
cmp eax, 0x2d
je 0x45a984
cmp eax, 0x2e
je 0x45a984
cmp eax, 0x2f
je 0x45a995
jmp 0x45aabe
cmp eax, 0x3b
je 0x45a995
cmp eax, 0x3d
je 0x45a995
cmp eax, 0x3f
je 0x45a995
cmp eax, 0x40
je 0x45a995
cmp eax, 0x5f
je 0x45a984
cmp eax, 0x7e
je 0x45a984
jmp 0x45aabe
mov eax, dword [rbp + 0x18]
cmp eax, 6
jne 0x45abac
jmp 0x45ab7f
mov eax, 0
mov byte [rbp - 9], al
movzx eax, byte [rbp - 9]
jmp 0x45abb8
jmp 0x45abac
movzx eax, byte [rbp + 0x10]
cmp eax, 0x21
je 0x45ab69
cmp eax, 0x28
je 0x45ab69
cmp eax, 0x29
je 0x45ab69
cmp eax, 0x2a
je 0x45ab69
jmp 0x45ab7a
mov eax, 1
mov byte [rbp - 0xa], al
movzx eax, byte [rbp - 0xa]
leave
ret