Function at 0x424bb5
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x424d00
je 0x424cec
cmp ecx, 0x26
jg 0x424c6f
je 0x424c67
cmp ecx, 0x21
jg 0x424c45
je 0x424c2d
cmp ecx, 9
jl 0x424d37
cmp ecx, 0xa
jle 0x424c0a
cmp ecx, 0xb
jle 0x424d37
cmp ecx, 0xd
jle 0x424c0a
cmp ecx, 0x20
jne 0x424d37
movzx edx, byte [ebx + 1]
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x424c1a
inc eax
movzx edx, byte [eax + ebx]
test byte [edx + 0x485770], cl
jne 0x424c15
mov dword [esi], 0x97
jmp 0x425098
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x425092
mov dword [esi], 0x4e
jmp 0x425098
mov eax, ecx
sub eax, 0x22
je 0x424f76
dec eax
je 0x425065
dec eax
dec eax
jne 0x424d37
mov dword [esi], 0x5d
jmp 0x424cbc
mov dword [esi], 0x55
jmp 0x424cbc
mov eax, ecx
sub eax, 0x27
je 0x424f76
dec eax
je 0x424ce4
dec eax
je 0x424cdc
dec eax
je 0x424cd4
dec eax
je 0x424ccc
dec eax
je 0x424cc4
dec eax
jne 0x424d37
cmp byte [ebx + 1], 0x2d
jne 0x424cb6
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x424cad
cmp ecx, 0xa
je 0x424c22
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x424c9f
jmp 0x424c22
mov dword [esi], 0x5a
xor eax, eax
inc eax
jmp 0x425098
mov dword [esi], 0x1a
jmp 0x424cbc
mov dword [esi], 0x59
jmp 0x424cbc
mov dword [esi], 0x5b
jmp 0x424cbc
mov dword [esi], 0x17
jmp 0x424cbc
mov dword [esi], 0x16
jmp 0x424cbc
movzx eax, byte [ebx + 1]
test byte [eax + 0x485770], dl
jne 0x424d4c
mov dword [esi], 0x7a
jmp 0x424cbc
cmp ecx, 0x3f
jg 0x424f17
je 0x424ef4
cmp ecx, 0x3b
jg 0x424e69
je 0x424e5d
cmp ecx, 0x2f
je 0x424e1f
jle 0x424d37
cmp ecx, 0x39
jle 0x424d4c
cmp ecx, 0x3a
je 0x425065
test byte [ecx + 0x485770], 0x46
jne 0x425043
xor eax, eax
inc eax
jmp 0x425092
mov dword [esi], 0x84
mov cl, byte [ebx]
cmp cl, 0x30
jne 0x424d8d
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x424d64
cmp al, 0x58
jne 0x424d8d
movzx eax, byte [ebx + 2]
test byte [eax + 0x485770], 8
je 0x424d8d
movzx ecx, byte [ebx + 3]
push 3
pop eax
jmp 0x424d7f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], 8
jne 0x424d7a
jmp 0x425098
xor eax, eax
movzx ecx, cl
jmp 0x424d99
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], dl
jne 0x424d94
cmp byte [eax + ebx], 0x2e
jne 0x424dba
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], dl
jne 0x424da7
mov dword [esi], 0x85
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x424dc7
cmp cl, 0x45
jne 0x424e0d
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x485770], dl
jne 0x424ded
cmp cl, 0x2b
je 0x424de0
cmp cl, 0x2d
jne 0x424e0d
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x485770], dl
je 0x424e0d
inc eax
inc eax
jmp 0x424df2
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], dl
jne 0x424df1
mov dword [esi], 0x85
jmp 0x424e0d
mov dword [esi], 0x96
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], 0x46
jne 0x424e06
jmp 0x425098
cmp byte [ebx + 1], 0x2a
jne 0x424e52
mov cl, byte [ebx + 2]
test cl, cl
je 0x424e52
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x424e3d
cmp byte [eax + ebx], 0x2f
je 0x424e4c
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x424c22
inc eax
jmp 0x424e32
inc eax
jmp 0x424c22
mov dword [esi], 0x5c
jmp 0x424cbc
xor ecx, ecx
inc ecx
mov dword [esi], ecx
mov eax, ecx
jmp 0x425098
mov eax, ecx
sub eax, 0x3c
je 0x424eb8
dec eax
je 0x424ea3
dec eax
jne 0x424d37
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x424e8b
mov dword [esi], 0x53
jmp 0x424ec7
cmp eax, 0x3e
jne 0x424e98
mov dword [esi], 0x58
jmp 0x424ec7
mov dword [esi], 0x50
jmp 0x424cbc
xor eax, eax
mov dword [esi], 0x4f
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x425098
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x424ecf
mov dword [esi], 0x51
push 2
pop eax
jmp 0x425098
cmp eax, 0x3e
jne 0x424edc
mov dword [esi], 0x4e
jmp 0x424ec7
cmp eax, 0x3c
jne 0x424ee9
mov dword [esi], 0x57
jmp 0x424ec7
mov dword [esi], 0x52
jmp 0x424cbc
xor eax, eax
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x424f0a
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], dl
jne 0x424f05
jmp 0x425098
mov eax, ecx
sub eax, 0x40
je 0x425065
sub eax, 0x18
je 0x424fe5
sub eax, 3
je 0x424fb9
sub eax, 5
je 0x424f76
sub eax, 0x18
je 0x424fe5
sub eax, 4
je 0x424f5a
dec eax
dec eax
jne 0x424d37
mov dword [esi], 0x60
jmp 0x424cbc
cmp byte [ebx + 1], 0x7c
je 0x424f6b
mov dword [esi], 0x56
jmp 0x424cbc
mov dword [esi], 0x5e
jmp 0x424ec7
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x424f92
cmp edx, ecx
jne 0x424f8d
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x424f96
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x424f7f
cmp edx, 0x27
jne 0x424fa6
mov dword [esi], 0x61
jmp 0x424eb2
test edx, edx
je 0x425092
mov dword [esi], 0x1b
jmp 0x424eb2
xor eax, eax
inc eax
jmp 0x424fc7
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x424fcc
inc eax
cmp ecx, 0x5d
jne 0x424fbe
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff85
add edx, 0x96
mov dword [esi], edx
jmp 0x425098
cmp byte [ebx + 1], 0x27
jne 0x424d37
push 2
mov dword [esi], 0x86
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x425003
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x485770], 8
jne 0x424ffe
cmp byte [eax + ebx], 0x27
jne 0x425023
mov ecx, eax
and ecx, 0x80000001
jns 0x425021
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x425038
mov dword [esi], 0x96
jmp 0x425031
cmp cl, 0x27
je 0x425038
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x42502b
cmp byte [eax + ebx], 0
je 0x425098
jmp 0x424eb2
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x425051
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x485770], 0x46
jne 0x42504c
call fcn.00424b3d
mov dword [esi], eax
mov eax, edi
jmp 0x425098
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x425092
movzx ecx, cl
test byte [ecx + 0x485770], 0x46
je 0x42508e
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x425078
test edx, edx
jne 0x425098
mov dword [esi], 0x96
pop edi
pop ebx
ret