Function at 0x101496b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 2
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0xa
ja case.default.0x101496d0
mov edx, dword [ebp - 4]
jmp dword [edx*4 + 0x101499b4]
movsx eax, byte [ebp + 0xc]
cmp eax, 0x40
jne 0x101496ea
mov eax, 4
jmp 0x101499ae
movsx ecx, byte [ebp + 0xc]
or ecx, 0x20
movzx edx, cl
cmp edx, 0x61
jl 0x1014970c
movsx eax, byte [ebp + 0xc]
or eax, 0x20
movzx ecx, al
cmp ecx, 0x7a
jle 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x30
jl 0x10149722
movsx eax, byte [ebp + 0xc]
cmp eax, 0x39
jle 0x101497c3
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x2d
je 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x5f
je 0x101497c3
movsx eax, byte [ebp + 0xc]
cmp eax, 0x2e
je 0x101497c3
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x21
je 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x7e
je 0x101497c3
movsx eax, byte [ebp + 0xc]
cmp eax, 0x2a
je 0x101497c3
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x27
je 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x28
je 0x101497c3
movsx eax, byte [ebp + 0xc]
cmp eax, 0x29
je 0x101497c3
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x25
je 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x3b
je 0x101497c3
movsx eax, byte [ebp + 0xc]
cmp eax, 0x3a
je 0x101497c3
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x26
je 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x3d
je 0x101497c3
movsx eax, byte [ebp + 0xc]
cmp eax, 0x2b
je 0x101497c3
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x24
je 0x101497c3
movsx edx, byte [ebp + 0xc]
cmp edx, 0x2c
jne 0x101497cd
mov eax, 3
jmp 0x101499ae
jmp case.default.0x101496d0
movsx eax, byte [ebp + 0xc]
cmp eax, 0x5b
jne 0x101497e5
mov eax, 5
jmp 0x101499ae
movsx ecx, byte [ebp + 0xc]
or ecx, 0x20
movzx edx, cl
cmp edx, 0x61
jl 0x10149803
movsx eax, byte [ebp + 0xc]
or eax, 0x20
movzx ecx, al
cmp ecx, 0x7a
jle 0x10149827
movsx edx, byte [ebp + 0xc]
cmp edx, 0x30
jl 0x10149815
movsx eax, byte [ebp + 0xc]
cmp eax, 0x39
jle 0x10149827
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x2e
je 0x10149827
movsx edx, byte [ebp + 0xc]
cmp edx, 0x2d
jne 0x10149831
mov eax, 6
jmp 0x101499ae
jmp case.default.0x101496d0
movsx eax, byte [ebp + 0xc]
or eax, 0x20
movzx ecx, al
cmp ecx, 0x61
jl 0x10149854
movsx edx, byte [ebp + 0xc]
or edx, 0x20
movzx eax, dl
cmp eax, 0x7a
jle 0x10149878
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x30
jl 0x10149866
movsx edx, byte [ebp + 0xc]
cmp edx, 0x39
jle 0x10149878
movsx eax, byte [ebp + 0xc]
cmp eax, 0x2e
je 0x10149878
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x2d
jne case.0x101496d0.6
mov eax, 6
jmp 0x101499ae
movsx edx, byte [ebp + 0xc]
cmp edx, 0x3a
jne 0x10149895
mov eax, 0xb
jmp 0x101499ae
jmp case.default.0x101496d0
movsx eax, byte [ebp + 0xc]
cmp eax, 0x5d
jne case.0x101496d0.3
mov eax, 8
jmp 0x101499ae
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x30
jl 0x101498bf
movsx edx, byte [ebp + 0xc]
cmp edx, 0x39
jle 0x101498ef
movsx eax, byte [ebp + 0xc]
or eax, 0x20
movzx ecx, al
cmp ecx, 0x61
jl 0x101498dd
movsx edx, byte [ebp + 0xc]
or edx, 0x20
movzx eax, dl
cmp eax, 0x66
jle 0x101498ef
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x3a
je 0x101498ef
movsx edx, byte [ebp + 0xc]
cmp edx, 0x2e
jne 0x101498f9
mov eax, 7
jmp 0x101499ae
cmp dword [ebp + 8], 7
jne 0x10149912
movsx eax, byte [ebp + 0xc]
cmp eax, 0x25
jne 0x10149912
mov eax, 9
jmp 0x101499ae
jmp case.default.0x101496d0
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x5d
jne case.0x101496d0.7
mov eax, 8
jmp 0x101499ae
movsx edx, byte [ebp + 0xc]
or edx, 0x20
movzx eax, dl
cmp eax, 0x61
jl 0x10149948
movsx ecx, byte [ebp + 0xc]
or ecx, 0x20
movzx edx, cl
cmp edx, 0x7a
jle 0x10149987
movsx eax, byte [ebp + 0xc]
cmp eax, 0x30
jl 0x1014995a
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x39
jle 0x10149987
movsx edx, byte [ebp + 0xc]
cmp edx, 0x25
je 0x10149987
movsx eax, byte [ebp + 0xc]
cmp eax, 0x2e
je 0x10149987
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x2d
je 0x10149987
movsx edx, byte [ebp + 0xc]
cmp edx, 0x5f
je 0x10149987
movsx eax, byte [ebp + 0xc]
cmp eax, 0x7e
jne 0x1014998e
mov eax, 0xa
jmp 0x101499ae
jmp case.default.0x101496d0
movsx ecx, byte [ebp + 0xc]
cmp ecx, 0x30
jl case.default.0x101496d0
movsx edx, byte [ebp + 0xc]
cmp edx, 0x39
jg case.default.0x101496d0
mov eax, 0xc
jmp 0x101499ae
mov eax, 1
mov esp, ebp
pop ebp
ret